Warum gibt NSString stringWithString den Zeiger auf die kopierte Zeichenfolge zurück?
Ich versuche eine zu kopierenNSString
Wert aus einemNSMutableArray
in eine neue Variable.NSString stringWithString
kehrt zurückNSString
mit der gleichen Speicheradresse wie das Objekt in meinem Array. Warum?
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSMutableArray *arr = [NSMutableArray arrayWithObject:@"first"];
NSLog(@"string is '%@' %p", [arr objectAtIndex:0], [arr objectAtIndex:0]);
// copy the string
NSString *copy = [NSString stringWithString:[arr objectAtIndex:0]];
NSLog(@"string is '%@' %p", copy, copy);
}
return 0;
}