And*_*ang 1 iphone objective-c
什么是__weak上的NSString和NSURL之间的区别?
我的例子:
__weak NSURL *myURL = [NSURL fileURLWithPath:@"/tmp"];
__weak NSString *myString = @"123";
NSLog(@"myURL: %@", myURL);
NSLog(@"myString: %@", myString);
Run Code Online (Sandbox Code Playgroud)
结果:
2012-07-10 19:23:49.858 myApp [56093:303] myURL :( null)
2012-07-10 19:23:49.859 myApp [56093:303] myString:123
为什么不是结果myString ==(null)
这是因为示例中的字符串是永远不会释放的字符串文字.您的属性不保留字符串,但由于它没有被释放,它仍然指向您分配的值.
如果您已经使用[NSString stringWithFormat:@"hello"];那么创建了字符串,那么您将看到预期的行为.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |