質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3283閲覧

[Swift] Realmを定義すると落ちる

street

総合スコア34

Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/01/24 15:38

編集2018/01/25 01:12

以下のようにRealmを使用したしたところなぜか落ちます。。。。
モデルクラスの定義がおかしいのでしょうか?

swift

1import RealmSwift 2 3// define.swift 4let realm = try! Realm() // ここで落ちる. 5 6final class info: Object { 7 @objc dynamic var id: String = "0" 8 @objc dynamic var name:String = "" 9 @objc dynamic var createDate:String = "" 10 @objc dynamic var kind:Int = 0 11 @objc dynamic var address:String = "" 12 var list = List<key>() 13 override static func primaryKey() -> String? { 14 return "id" 15 } 16} 17 18final class key: Object { 19 @objc dynamic var data:UInt8 = 0 20} 21 22struct DATA_INFO { 23 var name:String = "" 24 var createDate:String = "" 25 var address:String = "" 26} 27

swift

1// ViewContoroller.swift 2// 〜省略〜 3 private func getRealmData_() { 4 let object = realm.objects(info.self) 5 if ( false == object.isEmpty) { 6 for (_, data ) in object.enumerated() { 7 var tmpInfo = DATA_INFO() 8 tmpInfo.name = data.name 9 tmpInfo.createDate = data.createDate 10 tmpInfo.address = data.address 11 dataList_.insert(tmpInfo, at: 0) 12 } 13 } 14 } 15 16// ここまで

エラー内容は以下の通りです。

txt

1Terminating app due to uncaught exception 'RLMException', reason: 'Can't persist property 'data' with incompatible type. Add to Object.ignoredProperties() class method to ignore.'

お手数ですが解決策のご教示お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

UInt8はRealmCollectionValueとして未定義なのでは。

swift

1 //var list = List<key>() 2 var list = List<UInt8>() 3 // error: Type 'UInt8' does not conform to protocol 'RealmCollectionValue' 4

swift

1 var list = List<Int8>() // no error

投稿2018/01/25 01:33

fromageblanc

総合スコア2724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

street

2018/01/27 18:30

ありがとうございます。確認したとところ、Intで正常に動作しました。 初歩的な質問をしてしまい申し訳ございませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問