Dlaczego NSString stringWithString zwraca wskaźnik do skopiowanego ciągu?
Próbuję skopiowaćNSString
wartość zNSMutableArray
w nową zmienną.NSString stringWithString
wracaNSString
z tym samym adresem pamięci co obiekt w mojej tablicy. Czemu?
#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;
}