iphone – 用核心数据实现枚举的最佳方式

iphone – 用核心数据实现枚举的最佳方式,第1张

概述什么是将Core Data实体绑定到枚举值的最佳方式,以便能够为实体分配类型属性?换句话说,我有一个名为Item的实体,带有一个itemType属性,我想绑定到枚举,什么是最好的方式去做这个。 如果要将值限制为枚举,则必须创建自定义访问器。所以,首先你要声明一个枚举,像这样: typedef enum { kPaymentFrequencyOneOff = 0, kPaymentF 什么是将Core Data实体绑定到枚举值的最佳方式,以便能够为实体分配类型属性?换句话说,我有一个名为Item的实体,带有一个itemType属性,我想绑定到枚举,什么是最好的方式去做这个。解决方法 如果要将值限制为枚举,则必须创建自定义访问器。所以,首先你要声明一个枚举,像这样:

typedef enum {    kPaymentFrequencyOneOff = 0,kPaymentFrequencyYearly = 1,kPaymentFrequencyMonthly = 2,kPaymentFrequencyWeekly = 3} PaymentFrequency;

然后,为属性声明getter和setter。它是一个坏主意,重写现有的,因为标准访问器期望一个NSNumber对象而不是标量类型,如果绑定或KVO系统中的任何东西尝试和访问您的值,你会遇到麻烦。

- (PaymentFrequency)itemTypeRaw {    return (PaymentFrequency)[[self itemType] intValue];}- (voID)setItemTypeRaw:(PaymentFrequency)type {    [self setItemType:[NSNumber numberWithInt:type]];}

最后,您应该实现keypathsForValuesAffecting< Key>因此当itemType更改时,您可以获取itemTypeRaw的KVO通知。

+ (NSSet *)keypathsForValuesAffectingItemTypeRaw {    return [NSSet setWithObject:@"itemType"];}
总结

以上是内存溢出为你收集整理的iphone – 用核心数据实现枚举的最佳方式全部内容,希望文章能够帮你解决iphone – 用核心数据实现枚举的最佳方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1049259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存