2016-10-07 12 views
2

iOS 8.4以降をサポートするSwift3で書かれたiOS10で完全に機能するCoreDataアプリケーションがあります。iOS9デバイスでSwift3 CoreDataがクラッシュする

私はiOSの9.3.5上でそれを実行しようとすると、私はエラーを取得しています:

ラインにクラッシュ
2016-10-07 17:47:20.596 FormApp[710:179733] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSSet intersectsSet:]: set argument is not an NSSet' 

form.addToOpenQuestions(openQuestion) 

私は管理オブジェクトクラスに@objcを()追加されました。それから私は、新しいエラーを取得しています:

CoreData: warning: Unable to load class named 'FormApp.Form' for entity 'Form'. Class not found, using default NSManagedObject instead. 

それはライン上で起こっている:

let form = NSEntityDescription.insertNewObject(forEntityName: "Form", into: managedObjectContext) as! Form 

マイ設定:

Settings of enity

Class

Model

Properties extension

すべてのクラスはXcodeによって生成されました。私は、モジュールとすべての設定を削除しようとしました。誰でもそれを動作させる方法を知っていますか?

+0

例外ブレークポイントを設定して、アプリケーションがクラッシュする正確な行を表示できますか?左下のxCode - > "+"ボタンのブレークポイントタブ - >例外ブレークポイントを選択します。また、Form + CoreDataProperties.swiftファイル – alexburtnik

+0

@alexを表示してください。追加された画面と行 – Preetygeek

+0

あなたのコアデータモデルにArrangment:Orderedチェックマークがありますか?何らかの理由でNSSetが必要ですが、NSManagedObjectコードにはNSObjectのサブクラスであるNSOrderedSetがあります。そのチェックマークを削除してNSSet – alexburtnik

答えて

3

何らかの理由でNSSetが必要ですが、NSManagedObjectコードにはNSObjectのサブクラスであるNSOrderedSetがあります。コアデータモデルの「Arrangment:Ordered」チェックマークを削除し、NSSetとの関係をリファクタリングしてみます。 なぜこれがiOS 10では発生するのですが、iOS 9では発生しないのかはわかりません。

P.S.おそらく、あなたはコアデータモデルを再考すべきでしょうか?開いた/閉じた質問のステータスが変わるようです。もしそうなら、closed boolまたはstatus intの質問エンティティを1つ作成することをお勧めします。

関連する問題