2016-07-21 7 views
0

コアデータを持つSwift 3にプロジェクトを更新しようとしています。私は重大なエラーに直面しており、実際に何が起こっているのか分かりません。私のコアデータモデルは次のプロパティを持っていますXcode 8コアデータの異常

@NSManaged var name: String? 
@NSManaged var count: NSNumber 
@NSManaged var isDelivered: NSNumber 

他のプロパティは設定できますが、isDeliveredです。私が使用しようとすると

myobject.isDelivered = true 

コンソールで次のエラーが発生します。

キャッチされない例外により 'NSInvalidArgumentException'、理由にアプリを終了: - Xcodeのは、からis一部を除去しているように見え

'[mymodelというsetDeliveredは:] 未認識セレクタインスタンス0x6000000d3780に送ら' isDeliveredアプリをクラッシュさせるプロパティ。モデルを更新する以外にこれを防ぐためにできることはありますか?ありがとう。

+0

あなたは 'myObject.isDelivered = NSNumber(booleanLiteral:true)'を試みましたか? – njuri

+0

同じ結果です。ログからわかるように、 'isDelivered'には' Delivered'ではなくメッセージを送るべきです。奇妙なことが起こっています – Meanteacher

+0

はブール値とオプションとしてisDeliveredを試みます。 –

答えて

0

これはバグです。それは非常に混乱しているバグです。この質問にお困りの方は、アップルのフォーラムで私が見つけた回答があります。

現在のバージョンのSwift 3ベータ版では、「is」という接頭辞が付いたプロパティを処理することに若干の欠陥があるようです。

newWriter.setValue(true, forKey: "favorite") 

(更新) :あなたのプロパティ名に "ある"、またはあなたは、これを試すことができない場合は使用して

https://forums.developer.apple.com/thread/50863

ユーザーからの回答OOPer

は避けてくださいプロパティに@objcの名前を追加してみてください:

@NSManaged @objc(isFavorite) var isFavorite: Bool 
関連する問題