使用 NSNumber 比使用整数或浮点数有优势吗?
与整数或浮点数相比,使用 NSNumber 有何优点?它们为何存在以及为何被使用?从 UI 对象(intValue 和 floatValue)中获取整数和浮点数要容易得多,而您必须使用 NSNumberFormatter 对 NSNumber 执行相同的操作。你用 NSNumber 做什么?
What is the advantage of using NSNumbers over integers or floats? Why do they exist and why are they used? It's much easier to get integers and floats out of UI objects (intValue & floatValue), whereas you have to use the NSNumberFormatter to do the same for NSNumbers. What do you use NSNumbers for?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
NSNumber
对象主要用于在 Objective-C 容器中存储数字(例如NSArray
、NSDictionary
等) - 因为它们需要对象作为元素并且不能存储普通类型。此外,CoreData 属性(iOS5 之前的版本)不能是普通类型 - 因此您还需要在此处使用 NSNumbers。
在其他场景中,使用普通类型确实可能更方便、更高效。
NSNumber
objects primarily used to store numbers in objective-c containers (e.g.NSArray
,NSDictionary
etc) - as they require objects as elements and cannot store plain types.Also CoreData properties (prior to iOS5) cannot be plain types - so you need to use NSNumbers here as well.
In other scenarios it may be indeed more convenient and efficient to use plain types.