NSNumber的@property属性?

fuz*_*oat 1 cocoa objective-c

在下面我是正确的(记住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)

加里

Car*_*rum 5

你通常想要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)