黑马程序员技术交流社区
标题:
请大神分享@property (retain) NNString *name的问题
[打印本页]
作者:
WELL--V
时间:
2014-12-25 11:07
标题:
请大神分享@property (retain) NNString *name的问题
@property (retain) NNString *name
NNString *s = "jack";
stu.name = s;
不是没有用alloc吗?第一行用retain不就用到release了吗?
虽然它是NNString类型的对象,MJ老师不是说它会自动回收的吗?
我晕了,请大家指教。谢谢。
作者:
zhuohong_xiao
时间:
2014-12-25 12:27
NSSting是一个autorelease的对象吗?
作者:
从今以后
时间:
2014-12-25 13:44
NSString *s = "jack";这种常量字符串比较特殊,内存分布不同,类似于C的char *str = "jack";。
[s retainCount]是一个很大的数,而不是1。
相应的_name = [s retain];也并不会让s引用技术+1,而是依旧保持一个很大的数。
两个字符串指向同一常量字符串。
NSString *str = @"jack";
NSString *s = [NSString stringWithFormat:@"%@", str];
这样的s引用计数才是1,而且和常量字符串str是完全不同的内存地址。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2