新来的obj-C和Cocoa
我试图在一个方法中增加一个变量,由于我习惯了C++,我只想使用variable++的术语,但是这在NSNumber上不起作用,所以我想出了
player1Points = [NSNumber numberWithInt:( player1Points intValue + 1) ];
我很想在头中将player1Points重新声明为int,但是我希望保留@合成和@属性,这样我就不必编写、获取和设置例程了。
有更简单的方法来编写这一行代码吗?
发布于 2013-03-07 23:23:31
您仍然可以声明它为NSInteger,属性也可能是原始类型:
@property (nonatomic,assign) NSInteger player1Points;你仍然可以合成它。
另外,还有一种新的语法将使NSNumber的使用更加舒适:
player1Points = @(player1Points.integerValue+1);发布于 2013-03-07 23:24:29
您可以使用原语作为属性,如下所示:
@property (nonatomic, assign) int player1Points;发布于 2013-03-07 23:30:25
同意所有的答案,另一个选项(虽然可能是编码过度)是在NSNumber上创建一个类别,并使用一个名为a(或其他什么)的实例方法。这样你就可以在你的应用程序中的任何地方都有类似[player1Points increase];的东西。
https://stackoverflow.com/questions/15283814
复制相似问题