前提・実現したいこと
Swiftで以下のようなviewで、
テキストに文字を入力して、追加ボタンを押すと、Realmに文字が登録されて、
TableViewに登録した文字が表示されるシステムを作りたいのですが、
追加ボタンを押してもうんともすんとも言いません。
エラーは特に発生しないのですが、、、、
![
↓を参考にしました。
https://qiita.com/TD3P/items/616e0dbd364179ca284b
該当のソースコード
Swift
1import UIKit 2import RealmSwift 3 4class ViewController: UIViewController , UITextFieldDelegate{ 5 6 @IBOutlet weak var textTest: UITextField! 7 8 @IBOutlet weak var testTable: UITableView! 9 10 var itemList: Results<TodoModel>! 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 let realmIns1 = try! Realm() 15 self.itemList = realmIns1.objects(TodoModel.self) 16 } 17 18 @IBAction func addButon(_ sender: Any) { 19 let insTodoModel:TodoModel = TodoModel() 20 insTodoModel.test = self.textTest.text 21 let realmIns2 = try! Realm() 22 try! realmIns2.write { 23 realmIns2.add(insTodoModel) 24 } 25 self.testTable.reloadData() 26 } 27} 28 extension ViewController: UITableViewDataSource { 29 30 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 31 return self.itemList.count 32 } 33 34 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 35 36 // TodoModelクラス型の変数を宣言 37 let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "テストセル", for: indexPath) 38 39 // 取得したTodoリストからn番目を変数に代入 40 let item: TodoModel = self.itemList[(indexPath as NSIndexPath).row]; 41 42 // 取得した情報をセルに反映 43 cell.textLabel?.text = item.test 44 45 return cell 46 } 47 } 48
↓TodoModel.swift(Realmのデータの項目とデータ型を定義)
Swift
1import Foundation 2import RealmSwift 3 4class TodoModel: Object{ 5 @objc dynamic var test: String? = nil 6} 7
補足情報(FW/ツールのバージョンなど)
開発ツール:Xcode
言語:Swift 5.0.1
ご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー