核心數據已自動生成我的NSManagedObject
的子類。我的實體包含布爾型名爲isActive。當子類自動生成時,此屬性的類型爲NSNumber
。由於這是一個布爾值,我必須編寫如下代碼:核心數據:在自動生成的實體類中使用布爾值
if ([myEntity.isActive boolValue])
我覺得我很奇怪。解決這個問題的最好方法是什麼?
核心數據已自動生成我的NSManagedObject
的子類。我的實體包含布爾型名爲isActive。當子類自動生成時,此屬性的類型爲NSNumber
。由於這是一個布爾值,我必須編寫如下代碼:核心數據:在自動生成的實體類中使用布爾值
if ([myEntity.isActive boolValue])
我覺得我很奇怪。解決這個問題的最好方法是什麼?
沒有什麼要解決,真的,這是正常的,按預期工作。
如果您只是不喜歡它,請在生成子類時選中標記爲「使用基本數據類型的標量屬性」的複選框。布爾屬性將生成爲BOOL
,因此不會有任何理由對其調用boolValue
。
您還提到了當您這樣做時,最終爲NSTimeInterval
的日期屬性。我同意,這很煩人。但是:您可以混合匹配標量和對象屬性。關於生成步驟沒有什麼魔力,你看到的代碼就是它的全部。因此,產生使用標量屬性,它給你這樣的:
@property (nonatomic) NSTimeInterval myDate;
然後,只需編輯該行看起來像這樣:
@property (nonatomic, retain) NSDate * created;
但留下您的isActive
財產原樣。瞧,標量訪問一個屬性,但對象式訪問另一個。
當您使用「創建NSManagedObject子類」選項生成子類時,必須取消選中「對基元數據類型使用標量屬性」複選框。
我以前曾試過。但後來我的'NSDate'變成了'NSTimeInterval',這看起來很奇怪? – dhrm
@ DennisMadsen:請參閱http://stackoverflow.com/a/15885204/1187415如何處理存儲爲標量值的Date屬性。 –
@DennisMadsen:看到編輯,你可以有兩種方式。 –