Während Code an Projekt arbeiten, die mir von einem früheren Entwickler verlassen, habe ich festgestellt dasObjective C warum Formatstring als String
konstruieren folgenden-(NSString *)StringCheckWithString:(NSString *)string{
NSString *string2 = [NSString stringWithFormat:@"%@", string];
if([string2 length] == 0){
return @"none";
}
else {
return string2;
}
}
Kann mir jemand erklären, warum Sie dies tun würde, so scheint es deutlich overengineered zu Ich und ich verstehe nicht, warum es so gemacht wurde (zur Verdeutlichung verstehe ich nicht, warum die Zeichenfolge so formatiert ist, verstehe ich die Längenüberprüfung)
Es ist möglich, dass 'string' ein unbekannter Eingang ist. Wenn es Formatzeichen enthält und Sie es roh verwenden, kann es zu BAD THINGS kommen. – thegrinner
@thegrinner sicher in dem Fall, dass 'string' Formatzeichen enthält,' string2' enthält nun auch diese Zeichen? – James
Ich versuche, meinen Kopf um eine Situation zu wickeln, in der ein NSString, der an eine Methode übergeben wird, NICHT wirklich ein NSString ist. Hat jemand ein konkretes Beispiel, wie man diese Situation erreichen kann? – Dan