blitz-time アプリ開発ブログ

Androidアプリ開発などのTips集

【SwiftUI開発】Generic type 'List' specialized with too few type parameters (got 1, but expected 2)

RealmSwiftを使ってモデルクラスを定義中に、下記エラーが発生。
配列のプロパティを持つクラスを定義しようとしたがエラー。RealmSwiftは配列には対応しておらず、List型を利用する必要があるとのことで、List型を使ったプロパティに変更。
公式ページからコピペしてきたクラスでもエラー。

Generic type 'List' specialized with too few type parameters (got 1, but expected 2)
import SwiftUI
import RealmSwift

class Dog: Object {
    @Persisted var name: String
    @Persisted var age: Int
}
class Person: Object {
    @Persisted(primaryKey: true) var _id: String
    @Persisted var name: String
    @Persisted var age: Int
    // Create relationships by pointing an Object field to another Class
    @Persisted var dogs: List<Dog>
}

なぜかというと、、、、SwiftUIのListとして認識しているようだ。

SwiftUIはUIのパッケージですから、モデルのクラスにSwiftUIをインポートすること自体、アンチコードということですね。

勉強になりました。