Aar*_*ron 0 properties objective-c nsstring
我有一个
@property(retain) NSString* test;
Run Code Online (Sandbox Code Playgroud)
它在实现文件中合成.
在dealloc中,这两个都是正确的吗?
self.test = nil;
Run Code Online (Sandbox Code Playgroud)
和
self.test = @"";
Run Code Online (Sandbox Code Playgroud)
当我记录了retainCount为nil和@""时,它分别给出输出为0和-1.
我只是想知道两者是否产生相同的结果.
提前致谢.
首先,永远不要使用retainCount.它会欺骗你.其次,保留计数是无符号的,因此"-1"实际上意味着"可能的最高保留计数",这意味着保留和释放对该对象不执行任何操作.第三,在nil上调用任何方法都返回nil/0.
现在已经清除了:nil和@""不一样.nil是指向地址0的指针,表示"无对象".@""是一个完全有效的NSString对象,恰好没有任何字符.
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |