開発環境
MacOS(macOS Monterey12.0.1)、Xcode(13.1)、swift(5.5.1)
実行環境 シミュレーション(iPhone12pro)
クエリは画面のソースとは別にクラス専用のファイルを作成して画面からクラスメソッドを呼び出して処理を行うようにしています。
上記環境にて指定したI Dのデータに対して指定したデータの更新を行おうとすると、下記のエラーが表示されます。
インスタンスの生成の仕方が悪いのでしょうか?
ちなみに下記のリンクの内容を参考にしてクエリーを作成しました。
参考サイト
エラー内容
Value of type 'Results<user>' has no member '指定したデータのオブジェクト'
エンティティ
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:Int8 = 0; 22 //家賃 23 @objc dynamic var home:Int8 = 0; 24 //電気 25 @objc dynamic var elec:Int8 = 0; 26 //水道代 27 @objc dynamic var water:Int8 = 0; 28 //ガス 29 @objc dynamic var gas:Int8 = 0; 30 //通信料(ケータイ代等) 31 @objc dynamic var com:Int8 = 0; 32 //保険料 33 @objc dynamic var insure:Int8 = 0; 34 //サブスク 35 @objc dynamic var subsc:Int8 = 0; 36 37} 38 39 40 41今回のデータの更新クエリとしては、配列型を引数としてメソッドに渡して更新クエリを実行するという方法になります。 42 43**データ更新クエリ** 44 45```swift 46 //入力した費用情報を更新するメソッド 47 class func PriceUpdate(getresults:Array<Int8>) -> Int { 48 let realm = try! Realm() 49 let targets = realm.objects(user.self).filter("id == %@",g_id) 50 do{ 51 try realm.write{ 52 targets.home = 0 53 targets.elec = 0 54 targets.water = 0 55 targets.gas = 0 56 targets.com = 0 57 targets.insure = 0 58 targets.subsc = 0 59 } 60 }catch { 61 print("Error \(error)") 62 } 63 return 0 64 } 65
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/12 10:26 編集
2022/04/12 10:43
2022/04/12 23:57
2022/04/14 08:51