これはXCode 6およびSwift用です...
管理対象オブジェクト コンテキストにフェッチ リクエストを送信しようとしていますが、正しいサブクラスが返されません。
データ モデル データ モデラー構成のサブクラスをカスタム サブクラスの名前に既に設定しており、コードでは NSManagedObject クラスを拡張しています。
何か案は?
解決策を考え出しただけです。
@objc
クラスが Objective-C と互換性を持つようにするには、属性を追加する必要がありました。
現在、フェッチリクエストは正しい結果を返していますTasks[]
import Foundation
import CoreData
@objc(Task) // make compatible with objective-c
class Task : NSManagedObject
{
@NSManaged var note: String!
@NSManaged var completed: Bool
}
を使用@objc(Task)
して動作しているようですが、データモデルのデータモデラー構成を編集して、名前ToDoList.Task
だけではなく名前にすることもできますTask
。Task
Objective-Cコードの他の場所で使用されている場合、それも機能し、クラスの競合を回避します。
モデルでタスクが選択されているときに、「エンティティ」インスペクター (画面の右側、ユーティリティ ペイン) で、そのクラス フィールドに「タスク」が正しく入力されていることを確認します (デフォルトでは空白です)。