这里是obj-C和Cocoa的新手
我试图在一个方法中增加一个变量,并且习惯于C ++,我想只使用变量++的术语,但这不适用于NSNumber,所以我想出了< / p>
player1Points = [NSNumber numberWithInt:([player1Points intValue] + 1)];
我很想将player1Points重新声明为标题中的int,但我想保留@synthesize和@property,这样我就不必编写get和set例程了。
有没有更简单的方法来编写这行代码?
答案 0 :(得分:7)
您仍然可以将其声明为NSInteger,属性也可以是基本类型:
@property (nonatomic,assign) NSInteger player1Points;
你仍然可以合成它。
或者,有一种新的语法可以使NSNumber的使用更加舒适:
player1Points = @(player1Points.integerValue+1);
答案 1 :(得分:1)
您可以使用基元作为属性,如下所示:
@property (nonatomic, assign) int player1Points;
答案 2 :(得分:0)
同意所有答案,另一个选项(尽管可能过度编码)是使用名为increase(或其他)的实例方法在NSNumber
上创建一个类别。因此,您可以在应用中的任何位置使用[player1Points increase];
。