簡體   English   中英

Objective-C:在核心數據中設置布爾值

[英]Objective-C: Set boolean value in core data

在我的數據模型中,在實體中,我具有一個布爾值的屬性。 在xcmod​​eldatad文件中,它列出為:

need sync Boolean. 在NSmanagedobject文件中,如下所示:

.h file: @property (nonatomic, strong) NSNumber *needsync;//bool
.m file @dynamic needsync;

在編輯后保存記錄時,我使用了以前多次使用的以下代碼:

[列出setValue:@ 0 forKey:@“ needsync”];

但是,當達到此行時,它將引發異常

NSUnknownKeyException', reason: '[<__NSCFString 0x17409c4d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key need sync.'

這真的讓我感到困惑,我想知道是否有人可以發現錯誤或以前曾經發生過這種情況。

謝謝。

再次檢查您的代碼。

崩潰日志顯示您的對象是NSString,而不是YourList對象,因此,它沒有Needsync屬性=>崩潰。

您的list字典的類型是什么? NSMutableDictionary<NSString*, NSNumber*>嗎? 如果是這樣,則您的實體屬性屬性聲明之間的類型可能不匹配。

或者,如果您的字典的類型為NSMutableDictionary<NSNumber*, NSNumber*>嘗試以下操作:

[list setObject:@0 forKey:needsync]; // don't make `needsync` a NSString* object, it's already an object type (NSNumber*)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM