我有一个类通过总结NSNumbers来工作。这个类的一个特殊用途是只调用2种类型的数字:0和1.所以我在.h文件中声明了2个实例变量:
NSNumber* number1;
NSNumber* number0;
在init方法中:
number0 = [[NSNumber alloc] initWithInt:0];
number1 = [[NSNumber alloc] initWithInt:1];
当几分钟后使用该数字时,指针都是零。我怎样才能说服ARC在班级生活中保持我的变量活着?
答案 0 :(得分:0)
确保在@property中它们在@interface中标记为strong。即,
@property (nonatomic, strong) NSNumber *number1;
@property (nonatomic, strong) NSNumber *number0;
不要忘记实施中的@synthesize。
在你的init中,你使用不使用属性的点语法是正确的,但为了获得属性的retain的好处,你应该尝试使用其他属性的点语法。