增加NSNumber

时间:2013-03-07 23:21:03

标签: objective-c cocoa math increment nsnumber

这里是obj-C和Cocoa的新手

我试图在一个方法中增加一个变量,并且习惯于C ++,我想只使用变量++的术语,但这不适用于NSNumber,所以我想出了< / p>

  

player1Points = [NSNumber numberWithInt:([player1Points intValue] + 1)];

我很想将player1Points重新声明为标题中的int,但我想保留@synthesize和@property,这样我就不必编写get和set例程了。

有没有更简单的方法来编写这行代码?

3 个答案:

答案 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];