質問: Todoアプリを作っています 【やりたいこと】 EvernoteやiPhone純正メモのようにテキストや画像を貼り付け、書き込み・読み込み出来るメモを作りたい。Rtfdファイルの保存・読み込みをしたいが検討がつかない。 【試したこと】 https://qiita.com/kyam_/items/f08ba6d47f233ef04860 を参考にしながらtextviewにUIImagePickerControllerを使ってNSTextAttachmentで画像を貼り付けました。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/3d1f407dbbb7be50bb96c65fbc64bac6.png) このテキストと画像を含んだファイルをrtfdファイルとしてユーザー端末に保存しuuuidで紐付けようと考えました。 を参考にして、このtextviewをrtfdファイルとして保存読み込みができれば、画像も読み込ませられる、と考えましたがfilewrapperの使い方がわかりませんでした。 https://developer.apple.com/documentation/foundation/nsattributedstring/1527502-rtfdfilewrapper を参考にしてrtfdFileWrapperを用いてidと紐付けて保存することが適当だと考えましたがどうやっていいか検討がつかず、RtfdのfileWrapperに関する情報を調べてみてもいい方法を見つけることが出来ませんでした。rtfdfilewrapperの使い方についてヒントだけでも教えていだきたいです。もしくはもっといい方法があれば教えて頂ければ嬉しいです。 【補足情報】 Xcode11.4 macOS Catalina10.15.4 Swift5.2 iOS13.3.1 【最後に】 拙い質問で恐縮ですが教えて頂ければ嬉しいです。
回答: Realm で保存したいということですが、まずは UserDefaults を使った方法で回答します。 UserDefaults で保存できるデータ型には制限がありますから、カスタムクラスを作り一旦`Data`型に変更しそれを保存します。 下記の記事のうち、後半の回答が参考になるかと思います。 * [swift 5]textViewで変えた色を違う画面のlabelに反映させたい 上記の例では`UIColor`で保存する例でしたが、同じように `NSAttributedString` 型のプロパティを作り保存すればいいかと思います。 Realm の経験は浅いため提案にとどまりますが... たしか Realm も扱えるデータ型には制限があったかと思います。ただ、`Data`型は扱えると思いますので(参考)、上記の実装を参考に Realm に適用させれば大丈夫ではないでしょうか。