realm にてテーブルリレーションを行い、プライマリーキー(ID)に応じたテーブルデータを作成するという処理を実装したいのですが、現状エラーが起きてしまいます。
長文で申し訳ありませんがよろしくお願いいたします。
下記のリレーションを定義したいです。
user
→moneyflow(userと1対1の関係)
→calender(userと1対多の関係)
※補足 userテーブルのidを指定してその内容に紐づいたデータを登録編集したいです。
現状下記のようなクエリを記述するとエラーが起きてしまいます。
swift
1 class func newOutRegister(getitle:String,getactivereson:String , getmamo:String ,getdate:String) -> Int { 2 let realm = try! Realm() 3 let eventModel = calender() 4 //登録処理 5 do{ 6 try! realm.write{ 7 eventModel.title = getitle 8 eventModel.activereason = getactivereson 9 eventModel.memo = getmamo 10 eventModel.date = getdate 11 realm.add(eventModel) 12 } 13 }catch{ 14 return 1 15 } 16 return 0 17 }
※userのクラスにはエラーは出ないで、同じように宣言している、他クラスはエラーが発生しています。
エラー
Cannot find 'calender' in scope
下記のリレーションの定義が悪いのでしょうか?
swift
1// 2// parsonal.swift 3// myaccount 4 5 6import Foundation 7import RealmSwift 8 9 10//ユーザ情報クラス 11class user: Object { 12 //ユーザID 13 @objc dynamic var id:String = ""; 14 //パスワード 15 @objc dynamic var pass:String = ""; 16 //アプリ内のニックネーム 17 @objc dynamic var name:String = ""; 18 //年齢 19 @objc dynamic var age:String = ""; 20 //性別 21 @objc dynamic var sex:String = ""; 22 //貯金額 23 @objc dynamic var saveingaumont:String = ""; 24 //月収額 25 @objc dynamic var incomeperM:String = ""; 26 //年収 27 @objc dynamic var incomeperY:String = ""; 28 //年収 29 @objc dynamic var staticreason:String = ""; 30 //年収 31 @objc dynamic var incomeetc:Int64 32 = 0; 33 34 //テーブルリレーション設定 35 36 // moneyflowモデルと1対1の関係 37 @objc dynamic var moneyflow: moneyflow? 38 //主キーの設定(必要な場合) 39 override static func primaryKey() -> String? { 40 return "id" // 主キーの名称 41 42 } 43 44 //財務情報(フロー)クラス 45 class moneyflow: Object { 46 //家賃 47 @objc dynamic var home:Int64 = 0; 48 //電気 49 @objc dynamic var elec:Int64 = 0; 50 //水道代 51 @objc dynamic var water:Int64 = 0; 52 //ガス 53 @objc dynamic var gas:Int64 = 0; 54 //通信料(ケータイ代等) 55 @objc dynamic var com:Int64 = 0; 56 //保険料 57 @objc dynamic var insure:Int64 = 0; 58 //サブスク 59 @objc dynamic var subsc:Int64 = 0; 60 } 61 62 //臨時 カレンダークラス 63 class calender: Object { 64 //タイトル 65 @objc dynamic var title:String = "" 66 //支出事由 67 @objc dynamic var outreason:String = "" 68 //収入事由 69 @objc dynamic var inreason:String = "" 70 //メモ 71 @objc dynamic var memo:String = "" 72 //yyyy.mm.dd(年月日) 73 @objc dynamic var date:String = "" 74 //支出 75 @objc dynamic var payout:Int64 = 0 76 //収入 77 @objc dynamic var incometemp:Int64 = 0 78 79 let usermodel = List<user> () // userモデルと1対Nの関係 80 } 81}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/29 13:09
2022/05/01 01:11