對(duì)象聲明為
@interface MyClass : NSObject
@property (atomic, copy) NSMutableString *name;
@end
定義為
@implementation MyClass
@synthesize name;
@end
呼叫
MyClass *m = [[MyClass alloc] init];
NSMutableString *s = [[NSMutableString alloc] initWithString:@"Hello"];
[m setName:s];
NSLog(@"%p", [m name]);
NSLog(@"%p", [m name]);
NSLog(@"%p", [m name]);
如果說(shuō)copy每次回傳的物件對(duì)於可變字串都是深拷貝的話(huà),為什麼列印的位址是一樣的?
小伙看你根骨奇佳,潛力無(wú)限,來(lái)學(xué)PHP伐。
copy
是指在賦值的時(shí)候進(jìn)行一次copy操作,你可以再?lài)L試打印下s
的地址,
ps: mutable類(lèi)型的屬性別用copy