[解決済み] NSFetchRequestのインスタンスに型を適用する方法は?
2022-11-20 07:38:11
質問
Swift 2では、以下のコードが動作していました。
let request = NSFetchRequest(entityName: String)
と記述しても、Swift 3ではエラーになります。
Generic parameter "ResultType" を推論することができませんでした。
なぜなら
NSFetchRequest
が一般的な型になったからです。彼らのドキュメントではこう書かれています。
let request: NSFetchRequest<Animal> = Animal.fetchRequest
ということで、例えば結果クラスが
Level
である場合、どのようにリクエストすればよいのでしょうか?
これは動作しないためです。
let request: NSFetchRequest<Level> = Level.fetchRequest
どのように解決するのですか?
let request: NSFetchRequest<NSFetchRequestResult> = Level.fetchRequest()
または
let request: NSFetchRequest<Level> = Level.fetchRequest()
どのバージョンにするかによって
ジェネリックタイプを指定しないと、メソッド呼び出しが曖昧になるからです。
最初のバージョンは
NSManagedObject
に対して定義され、2 番目のバージョンは拡張子を使うすべてのオブジェクトに対して自動的に生成されます。
extension Level {
@nonobjc class func fetchRequest() -> NSFetchRequest<Level> {
return NSFetchRequest<Level>(entityName: "Level");
}
@NSManaged var timeStamp: NSDate?
}
要はString定数の使い回しをなくすことです。
関連
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで1つのビューコントローラの向きを縦向きのみに固定する方法
-
[解決済み] Swift 3でカスタム通知を作成するには?
-
[解決済み] Swift: PREPROCESSORフラグ(`#if DEBUG`など)を使ってAPIキーを実装する方法とは?
-
[解決済み] プロパティの型が内部型を使用しているため、publicを宣言することができない
-
[解決済み] アニメーションによる円の描画
-
[解決済み] Swift で UIViewController のサブクラス用のカスタムイニシャライザを作るには?
-
[解決済み] Swiftの変数に"?"(クエスチョンマーク)と"!"(エクスクラメーションマーク)の装飾を施す。
-
[解決済み] Swiftでenumの関連値を無視して比較する方法は?
-
[解決済み] Swift- Remove Push Notification Badge number?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Swiftがエラーを報告。アボートトラップ:6
-
Swift の Optional 値 && Optional のアンラップ時に予期せず nil が検出された場合の説明
-
[解決済み] Swiftダブルからストリング
-
[解決済み] Swift 3で現在の日付を取得する?[クローズド]
-
[解決済み] Swiftでbutton.addTargetアクションにパラメータを付ける
-
[解決済み] 非'@objc'メソッドは'@objc'プロトコルのオプション要件を満たしていない
-
[解決済み] Swift: インデックスで文字列配列を置換する
-
[解決済み] Swift - 複数条件でオブジェクトの配列を並べ替える
-
[解決済み] Swift - サブクラスでオーバーライドする必要があるクラスメソッド
-
[解決済み] Swiftでenumの関連値を無視して比較する方法は?