CoreDataを昨日学んで,sqliteへの書き込み,読み込みの仕組みは何となく理解しました。
ただ,自分の書き方として
AViewController (A)とBViewController (B)があるとして、
AとBでそれぞれあるモデルXについて書き込みたいとき
AでCoreDataをimportして
func writeData(#title:String, text:String, level:NSNumber, answer:String, id:NSNumber) { let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate let myContext: NSManagedObjectContext = appDel.managedObjectContext! let myEntity: NSEntityDescription! = NSEntityDescription.entityForName("Setsumons", inManagedObjectContext: myContext) var newData = Setsumons(entity: myEntity, insertIntoManagedObjectContext: myContext) newData.title = title newData.text = text newData.id = id newData.answer = answer newData.level = level /* Error handling */ var error: NSError? if !myContext.save(&error) { println("Could not save (error), (error?.userInfo)") } println("object saved") } func readData() { let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate let myContext: NSManagedObjectContext = appDel.managedObjectContext! let myRequest: NSFetchRequest = NSFetchRequest(entityName: "Setsumons") myRequest.returnsObjectsAsFaults = false var results: NSArray! = myContext.executeFetchRequest(myRequest, error: nil) for data in results { print("(data.title!)\n") } }
のようにべた書きする。
Bも同様にべた書きする。
とやってしまい、DRYでもないし、何より見た目が汚いし、
となってしまいます。
もう少しよい書き方はないのでしょうか。
Railsのようにやりたい・・・
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/28 07:54