在下面我是正确的(记住NSNumber是一个对象)使用赋值与NSNumber?
@property(assign) NSNumber *mass;
Run Code Online (Sandbox Code Playgroud)
此外,如果我使用retain我需要添加一个版本,但是如果我创建了带有alloc的NSNumber,我不需要释放两次,一次用于retain而一次用于alloc?
@property(retain) NSNumber *mass;
mass = [[NSNumber alloc] numberWithInt:5];
Run Code Online (Sandbox Code Playgroud)
加里
你通常想要retain你的实例变量,所以它们不会意外地消失.你的路线:
mass = [[NSNumber alloc] numberWithInt:5];
Run Code Online (Sandbox Code Playgroud)
有点奇怪.你可能想要其中一个:
mass = [NSNumber numberWithInt:5];
mass = [[NSNumber alloc] initWithInt:5];
Run Code Online (Sandbox Code Playgroud)
第一个给你一个自动释放的NSNumber对象,第二个给你一个NSNumber保留的对象.我期待你真正想要的是:
@property(retain) NSNumber *mass;
self.mass = [NSNumber numberWithInt:5];
Run Code Online (Sandbox Code Playgroud)