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

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

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

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

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

解決済

1回答

4571閲覧

Realmの値を上書き(更新)したいです。

Atsuya-11

総合スコア12

Realm

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

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2020/01/16 01:30

前提・実現したいこと

Realmにメモの内容を保存しています。
savememoボタンを押した時点でメモの内容をmemoBox(TextView)に書いてある内容に変更(Realmの値を更新)したいのですが、下記のようなエラーになっていましました。

発生している問題・エラーメッセージ

Value of type 'Realm' has no member 'memo'

該当のソースコード

import UIKit import RealmSwift class memoViewController: UIViewController { var currentMemo = "" @IBOutlet weak var memoBox: UITextView! @IBOutlet weak var tttitle: UINavigationItem! override func viewDidLoad() { memoBox.text = currentMemo super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @IBAction func savememo(_ sender: Any) { let realm = try! Realm() try! realm.write({ realm.memo = memoBox.text //ここにエラーが表示される }) } }

試したこと

値を変えてみたりしたのですが把握できませんでした。。
お力添えお願いいたします。

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

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

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

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

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

t_obara

2020/01/16 04:46

https://realm.io/jp/docs/swift/latest/ この辺りをよく読んで書き込み方を把握されてはいかがですか? 少なくともObjectから派生させたデータを定義する必要があります。
Atsuya-11

2020/01/16 06:48

色々読んで回ってみたのですが try! realm.write({ realm.counter = memoBox.text }) ここの部分がそれぞれ何を表しているかが理解できませんでした。
guest

回答1

0

ベストアンサー

swift

1try! realm.write({ 2  realm.counter = memoBox.text 3}) 4ここの部分がそれぞれ何を表しているかが理解できませんでした。

とのことですが、realm.counterとしている部分が間違いです。
エラーにある通り、realmにそんなメソッドはない。

https://realm.io/jp/docs/swift/latest/
上記にサンプルがありますが、例えば以下のようにします。

swift

1class Memo: Object { 2 dynamic var text = "" 3} 4 5# 追加する場合 6var m = Memo() 7m.text = memoBox.text 8try! realm.write({ 9 realm.add(m) 10}) 11 12# 既存のデータを上書きの場合 13# 適当な方法で検索して、そのデータを上書き 14let m = realm.objects(Memo.self).filter("xxx") 15try! realm.write({ 16 m.text = memoBox.text 17}) 18

投稿2020/01/16 08:10

t_obara

総合スコア5488

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問