读书频道 > 网站 > 网页设计 > iOS游戏开发入门经典
5.6.3 使用NSNumber包装数字
13-04-27    奋斗的小年轻
收藏    我要投稿   

本文所属图书 > iOS游戏开发入门经典

作为一名初出茅庐的iOS开发人员,如何着手编写iPhone和iPad游戏呢?您可以借助 iOS游戏开发入门经典 来奠定良好基础。无论您是否拥有iOS编程经验,都可以借助本书来了解开始创建有趣iOS游戏所需的技术。本书首...立即去当当网订购

NSNumber类可以将C的标量数据类型,如int、long,等包装成对象。之后就可以在类似于NSArray和NSMutableArray的集合中使用这些对象了。NSNumber是不可变的,没有与其对应的可变类型。如果需要修改数字,需要新建一个NSNumber对象来保存新数字。

可使用类助手方法创建NSNumber对象,如numberWithInt:和numberWithLong:,或者通过熟悉的[[object alloc] init]模式调用初始化方法,如initWithInt:和initWithLong:。传递进一个C的标量值,可获得一个表示该值的NSNumber对象。

要获得对象数,可调用诸如intValue或longValue之类的方法,具体调用的方法取决于您所期望获得的数字类型。也可以使用stringValue方法获取NSNumber的字符串表示形式。

比较NSNumber数字的方式与比较NSString字符串的方式类似。不能使用==比较NSNumber,因为==比较的是两个指针,而不是比较值本身。如果两个指针指向同一个对象,那么==比较将返回true;如果两个数字是相等的,但却是两个不同的对象,那么比较将返回false。正如NSString一样,这样的结果似乎违反直觉,但是如果理解成比较的是两个指针而不是两个对象,这样的结果就合理了。

如果需要比较两个NSNumbers是否相等,可使用isEqualToNumber:方法。isEqualTo- Number:返回一个BOOL值,因此可以将返回值与YES或NO进行比较。如果有两个NSNumber对象,分别是numA和numB,可以使用语句if ([numA isEqualToNumber: numB] == YES)判断其数值是否相等。

可以使用compare:方法确定两个数字的顺序。compare:方法返回一个NSComparison- Result。compare:方法的工作方式与NSString的工作方式相同。

在Scrambler游戏中,使用NSNumber将数字保存在一个可变数组中。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站