Core Data 原始访问器方法对 iPhone 有效吗?

发布于 2024-11-09 15:17:54 字数 316 浏览 0 评论 0 原文

我收到了关于 Core 中的原始访问器方法(形式为 setPrimitive*YourAttribute*setPrimitiveValue:*value* forKey:@"*YourAttribute*" 的混合信号)数据对象适用于 iPhone 代码或仅适用于 Mac。一方面,Apple 文档似乎没有提到它们可用于 iOS,而仅适用于 Mac OS X v10.5。另一方面,它们适用于我的代码。 iPhone应用程序的代码,尽管有编译器警告,例如“未找到方法 xxxx(返回类型默认为“id”)”

有人可以通过一种或另一种方式确认吗?

I'm getting mixed signals as to whether primitive accessor methods (of the form setPrimitive*YourAttribute* vs setPrimitiveValue:*value* forKey:@"*YourAttribute*" in Core Data objects are meant for use with iPhone code or just Mac. On the one hand, the Apple documentation doesn't seem to mention them as available for iOS, just Mac OS X v10.5. On the other hand, they work with my iPhone app's code, albeit with compiler warnings, e.g. "Method xxxx not found (return type defaults to 'id')".

Can someone confirm one way or another?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

药祭#氼 2024-11-16 15:17:54

托管对象访问器方法 部分指出,原始访问器是自动为您生成的,但您需要声明属性来抑制编译器警告。你说在你的代码中使用原始访问器是有效的(即使有警告),所以它似乎在 iOS 中受支持。

Apple 的文档页面似乎并不总是严格提及特定功能在各种操作系统中的可用性。

In the Overview of the Managed Object Accessor Methods section of Core Data Programming Guide it states that primitive accessors are automatically generated for you, but you will need to declare the properties to suppress compiler warnings. You say using primitive accessors works in your code (even with the warnings) so it seems like it's supported in iOS.

It appears that Apple's documentation pages aren't always rigorous in mentioning a given feature's availability in the various OSes.

谁的新欢旧爱 2024-11-16 15:17:54

您可以使用 NSNumber 代替。例如,对于布尔值,您可以使用 [NSNumber numberWithInt:0] 表示 NO,使用 [NSNumber numberWithInt:1] 表示 YES。与整数、双精度数、浮点数的逻辑相同。这样就容易多了。您的属性将类似于: NSNumber *myInteger ,您只需在检索或存储它时对其进行装箱和拆箱即可。我就是这么做的。

You could use NSNumber instead. For bools you would have and [NSNumber numberWithInt:0] for NO and [NSNumber numberWithInt:1] for YES for example. Same logic with integers, doubles, float. It's much easier this way. Your property would be like: NSNumber *myInteger , you would only have to box and unbox it when you retrieve or store it. That's how I would do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文