[解決済み] Codableクラスはプロトコルに準拠していない Decodable
2023-03-31 15:16:35
質問
Type 'Bookmark' does not conform to protocol 'Decodable'" というエラーメッセージが表示されるのはなぜですか?
class Bookmark: Codable {
weak var publication: Publication?
var indexPath: [Int]
var locationInText = 0
enum CodingKeys: String, CodingKey {
case indexPath
case locationInText
}
init(publication: Publication?, indexPath: [Int]) {
self.publication = publication
self.indexPath = indexPath
}
}
Publication は Bookmark を所有しますが、Bookmark はどの Publication に属しているかを知る必要があるため、Publication の var を保存したくありません。Publicationのdecode initは、ブックマークの参照を自分自身に設定します。
どのように解決するのですか?
Type 'Bookmark' does not conform to protocol 'Decodable'" というエラーメッセージが表示されるのですが。
PublicationがDecodableでないためか(それが何であるかが示されていないので、判断が難しい)、あるいは、Publicationにある
weak
に指定されている
publication
.
いずれにせよ、修正するのは簡単です。
init(from:)
を実装するだけでDecodableの実装が完成します。コンパイラは単にこの実装は合成できないことを伝えているのです。
関連
-
[解決済み] SwiftUI。TextFieldをファーストレスポンダーにするには?
-
[解決済み] Swift 3で現在の日付を取得する?[クローズド]
-
[解決済み] 非'@objc'メソッドは'@objc'プロトコルのオプション要件を満たしていない
-
[解決済み] Swift: インデックスで文字列配列を置換する
-
[解決済み] Xcode 8.3 betaの「String interpolation produces a debug description for an optional value; did you mean to make this explicit?
-
[解決済み] Swift: switch ケースでオプションの値に対するテストを行う
-
[解決済み] swift で文字列から数字以外の文字を削除する
-
[解決済み] カスタムイニシャライザを持つSwift enumはrawValueイニシャライザを失う
-
[解決済み] Swiftの関数パラメータとしてのプロトコルに準拠したクラス
-
[解決済み] swift 3.0 Data to String?
最新
-
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 3でカスタム通知を作成するには?
-
[解決済み] Swiftで複数のカスタムセルを持つUITableview
-
[解決済み] swiftにおける "precondition "と "assert "の違いとは?
-
[解決済み] アニメーションによる円の描画
-
[解決済み] ビルド入力ファイルが見つかりません」Swift 4.2、Xcode 10.0
-
[解決済み] Xcode 8.3 betaの「String interpolation produces a debug description for an optional value; did you mean to make this explicit?
-
[解決済み] Swiftでenumの関連値を無視して比較する方法は?
-
[解決済み] Swiftのif letと論理AND演算子&&の使い分け
-
[解決済み] swiftでオプションのクロージャを作るにはどうしたらいいですか?
-
[解決済み] SwiftUIのDSLを可能にするものは何ですか?