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

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

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

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

Swift

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

Q&A

0回答

878閲覧

Swift Realmへの登録 nilでないのにエラーがでて登録できない

ataru2222

総合スコア272

Realm

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

Swift

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

0グッド

0クリップ

投稿2021/12/16 11:55

前提・実現したいこと

ボタンを押したらRealmに登録したい

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

現在Realmへの登録しようと試みているのですが、nilでないのに以下のようなメッセージが出て困っております。

Unexpectedly found nil while implicitly unwrapping an Optional value

該当のソースコード

swift

1import UIKit 2import RealmSwift 3 4class ViewController: UIViewController { 5 6 @IBOutlet weak var addText: UITextField! 7 @IBOutlet weak var dataShow: UILabel! 8 @IBOutlet weak var datePicker: UIDatePicker! 9 10 var task: Task! 11 12 //デフォルトRealmの取得 13 //★DB構造を変更するとマイグレーションというものが必要になる引数の部分を追加 14 let realm = try! Realm(configuration: Realm.Configuration(inMemoryIdentifier: "MyInMemoryRealm")) 15 16 override func viewDidLoad() { 17 super.viewDidLoad() 18 // Do any additional setup after loading the view. 19 } 20 21 @IBAction func dataAdd(_ sender: Any) { 22 23 try! realm.write { 24 self.task.title = self.addText.text! //★ここでエラー 25 self.task.date = self.datePicker.date 26 self.realm.add(self.task, update: .modified) 27 } 28 29 } 30 31} 32

DB定義

Realm

1import RealmSwift 2 3class Task: Object { 4 //管理用 ID, プライマリーキー 5 @objc dynamic var id = 0 6 7 //タイトル 8 @objc dynamic var title = "" 9 10 //日付 11 @objc dynamic var date = Date() 12 13 //idをプライマリーキーに設定 14 override static func primaryKey() -> String? { 15 return "id" 16 } 17} 18 19

試したこと

エラーが起きる箇所に固定値として"aaa"など入れてみるも同じようなエラーが出ている状態です。
こちらについて何が起きていて、どのように解消したら良いのかお分かりになられる方いらっしゃいましたらご教示ください。

よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

hoshi-takanori

2021/12/16 15:50

ViewController のプロパティ var task: Task! に何も代入されてなくて nil のままだからでは。
ataru2222

2021/12/18 08:26

hoshi-takanoriさん まさにその通りでした。 現状質問への修正依頼に投稿されているのですが、BAにさせていただきたいので、次回から回答フォームに投稿していただけるととても嬉しいです。 回答していただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問