(主アプリ+ウィジェット)X AppGroup + Realm 用でRealmMgrを書く

こんにちは。川上です。
まずは、主アプリに組み込む画像を、
 ・「写真」アプリ(UIImagePickerController)
 ・D&Dサポートする外部アプリ
 で、取得してRealmに保存するんです。
 
で、作成するRealmLibMgrは、アプリとウィジェットでRealmにアクセスする共通ソースで使うんです。
 DBの検索用のBaseRealメンバの”fetchStr”で、DBを取得する用I/Fを作成しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | class BaseRealm: Object,Identifiable {      ・・・   static func fetchListSortByFetchStr_T(_ type: Element.Type                                             ,_ terFetch:String) -> [Element]         // Query using an NSPredicate         let predicate = NSPredicate(format: "fetchStr = %@ ",terFetch)         var ress:[Element] = []         let res = realm.objects(Element.self).filter(predicate)         for fetch in res {             ress.append(fetch);         }         return ress }  | 
RealmLibMgrにRealmDBにimageを保存する感じのI/Fです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  | // MARK: - +++ UIKit U/I +++ RealmLibMgr() class RealmLibMgr {  // MARK: ⭐️ === RealmDBに Imageを保存する  static func setImageToRaalm( _ key:String,                               _ setImage :UIImage,                               _ numidx :Int = 0) -> UIImage {  // === get RealmDB by  "fetchStr"  let conte_db_arry = GroundImgDB.fetchListSortByFetchStr_T(GroundImgDB.self,key)  print("=====" + #function + ": conte_db_arry.count = \(conte_db_arry.count)")  let grndb =  GroundImgDB.create()  // === 初回Img set  if conte_db_arry.isEmpty {      print("=====" + #function + "isEmpty : numidxt = \(numidx),key=\(key)")      grndb.cur_num = numidx      grndb.fetchStr = key      grndb.imagePhotos = setImage       grndb.save()  }   // === Img Update  else {      // conte_db_arry,count 1で、複数keyはない      let grndb_org = conte_db_arry[0]      grndb.obj_id = grndb_org.obj_id      grndb.regday = grndb_org.regday      grndb.fetchStr = key      grndb.cur_num = grndb_org.cur_num      grndb.imagePhotos = setImage       grndb.save()  }  return setImage  } // === setImageToRaalm } // == RealmLibMgr   | 
で、次は、DBからのReadですwね。
 
ではでは。

