【发布时间】:2014-04-26 07:56:45
【问题描述】:
我在整个应用程序(非 ARC)中使用不同的语法使用 NSNumbers。为了了解更多信息,我尝试查看 NSNumbers 如何根据它们的初始化语法保留。所以我做了以下事情:
NSNumber* a = @1;
NSNumber* b = [[NSNumber alloc] initWithInt:2];
NSNumber* c = [NSNumber numberWithInt:3];
NSLog(@"%d | %d | %d", a.retainCount, b.retainCount, c.retainCount);
这个代码片段是通过点击按钮执行的,输出让我感到困惑(重复点击):
73 | 27 | 6
78 | 159 | 22
78 | 160 | 22
78 | 161 | 22
78 | 162 | 22
78 | 163 | 22
85 | 169 | 22
85 | 170 | 22
85 | 171 | 22
85 | 172 | 22
现在这并没有真正的目的(至少在我的情况下没有),但我想知道这些 NSNumbers 是如何获得这些保留计数的。
【问题讨论】:
-
我刚做了。还有bbum's blog,以及官方文档。现在觉得很傻。
标签: ios objective-c nsnumber retaincount