Es gibt einige Code, den ich von jemandem geschrieben benutze anderes, das ich eine Frage habe ....IOS NSString return-Anweisung
NSString *c = @"test"; // "Local" string
NSString *d = [NSString alloc]initWithString:@"test"]; // "Heap" string
const char *c = "test";
return [NSString stringWithUTF8String:c]; // ??
Ich bin nicht sicher, was die return-Anweisung in diesem Fall zurückkehrt. Ich hätte es geschrieben so etwas wie ...
return [NSString alloc]initWithUTF8String:c];
oder
return [NSString alloc]initWithUTF8String:c]autorelease];
Warum sollte die return-Anweisung wie oben geschrieben werden?
Ah, ok, ich nehme das sehr an (return fügt alloc autorelease hinzu) wollte aber nur sichergehen. Also muss das c wirklich auf dem Stack oder statisch/global sein und das NSString-Objekt ist eine automatische Freigabe. Vielen Dank – ort11