ma1*_*w28 3 objective-c retaincount automatic-ref-counting unsafe-unretained
假设我想创建一个临时变量,例如:
指向另一个长寿变量:
__unsafe_unretained UIView *tableHeaderView = self.tableView.tableHeaderView;
Run Code Online (Sandbox Code Playgroud)指向我刚刚创建的对象.
__unsafe_unretained UIView *tableHeaderView = [[UIView alloc] init];
Run Code Online (Sandbox Code Playgroud)这些临时变量不需要保留,因为只要临时变量在范围内,它们指向的对象就可以保证保留正保留计数.那么,我应该声明它们__unsafe_unretained吗?
如果系统保留你的临时变量,为什么重要?事实上,你想要保留它.
考虑:
__unsafe_unretained UIView *tableHeaderView = self.tableView.tableHeaderView
self.tableView.tableHeaderView = nil;
NSLog(@"%@", tableHeaderView); //<-I WILL CRASH
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |