gpt4 book ai didi

objective-c - NSNumber 与 NSInteger 与 NSObject 属性的 int

转载 作者:可可西里 更新时间:2023-11-01 05:38:24 25 4
gpt4 key购买 nike

我们的 iOS 中有一个带有 id 属性的模型。这是我们当前使用的(顺便说一句,这是 iOS 5)。

 @property (nonatomic, assign) int userID;

到目前为止似乎工作正常。我想知道这是否会导致任何问题。

示例:我理解这意味着 ID 属性本身无法存储到 plist 中。但是,这是 NSObject 的属性。如果我们将任何内容存储到文件/核心数据/nsuserdefaults/无论什么,它可能是整个对象而不仅仅是这个属性。

我想我的问题是......我们将其存储为 int 而不是 NSNumber 是否会给自己带来任何问题?

其次,将其存储为 NSInteger 有什么区别。我知道这只是 long 或 int 的类型定义,具体取决于体系结构。由于我们只针对 iPhone,因此将它设置为 int 是否重要?在那种情况下似乎没有任何区别。

最佳答案

I guess my question is ... are we going to cause ourselves any problems by storing this as an int as opposed to an NSNumber?

这实际上取决于您要使用该值做什么。如果你想把它当作一个对象(例如,这样你就可以将它存储在 NSArray 或 NSDictionary 中)NSNumber 可能会很方便。如果您只想跟踪值,并且 int 适合您,那么使用 int 就可以了。

Secondly, what would be the difference in storing this as an NSInteger instead. I understand that it's just a type def to either long or int depending in the architecture. Since we're only targeting iPhone does it matter that it's just set to int?

我会选择 NSInteger(和 NSUInteger)。使用这些类型,您的代码将自动为您正在编译的体系结构使用适当的大小。你可能只针对 iOS,但你可能在 iOS 模拟器上运行你的代码,而 iOS 模拟器在 MacOS X 上运行。所以这是两种架构——你不知道 iOS 将来会发生什么。

关于objective-c - NSNumber 与 NSInteger 与 NSObject 属性的 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9527648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com