実現したいこと
現在スライドショーアプリを作成しているのですが、複数のスライドショーを保存刷るためにRealmを導入しました
以前作ったスライドショーアプリは、
swift
1var imageArray:[UIImage] = []
のようにして、配列を作り、ここに画像を追加して
swift
1imageArray[0] 2```のように要素を取り出していました 3 4今回も同様に、 5```swift 6import RealmSwift 7 8class Task: Object { 9// 管理用ID 10 @objc dynamic var id = 0 11// タイトル 12 @objc dynamic var title = "" 13// collectionViewに表示する画像 14 @objc dynamic var images:[UIImage] = [] 15 16 override static func primaryKey() -> String? { 17 return "id" 18 } 19}
https://realm.io/docs/objc/latest/api/Classes/RLMObject.htmlを参考に試みたのですが、
swift
1// Dog.h 2@interface Dog : RLMObject 3@property NSString *name; 4@property BOOL adopted; 5@end 6 7// Dog.m 8@implementation Dog 9@end //none needed 10
をどこに書けばいいのかなどよくわかりませんでした
追記
class
1// 管理用ID 2 @objc dynamic var id = 0 3// タイトル 4 @objc dynamic var title = "" 5 // collectionViewに表示する画像 6 @objc dynamic var imageData:Data? = nil 7 8 override static func primaryKey() -> String? { 9 return "id" 10 } 11} 12コード
上記のようにTaskクラスを修正し、imageDataに画像を保存することに成功しました
これをArrayの代わりにListを使って配列のようにするということだと思うのですが、ここから先があまり理解できず、止まってしまっています
また、Realmに保存された画像dataをImage型に直してViewControllerに表示する際にもエラーが出てしまいます if文を用いてimageDataがnilの時は、処理をしないようにしているつもりなのですが、なぜエラーが出てしまうのでしょうか?エラーが出るタイミングはシュミレーターが起動した直後です
あなたの回答
tips
プレビュー