[Swift] Core Data 설명 및 예제
[Swift] Core Data 설명 및 예제 소스
예제 소스↓
1. 프로젝트 생성
Swift 언어, 빈 프로젝트 혹은 싱글 프로젝트 생성(이때 반드시 Use Core Data 체크)
import UIKit
import CoreData
class ViewController : UIViewController{
@IBOutlet var txtUsername:UITextField!
@IBOutlet var txtPassword:UITextField!
@IBAction func btnSave(){
println("Save Button")
}
@IBAction func btnLoad(){
println("Load Button")
}
//이하 생략
...override func viewDidLoad() ....
... override func didReceiveMemoryWarning()...
}
2. 버튼 2개와 텍스트필드 2개와 연동시키기. ( 모두가 다 아실거라 생각하고 생략 )
3. 잘되는지 실행 후 확인. ( 버튼 2개를 눌렀을 때 잘 나오는지 )
4. Coredata.xc ... 파일로 이동하여 Core Data Attribute 생성
( [Add Entity] -> [Entities : USers] )
( password -> String , username -> String)
5. 본격적인 타이핑
import UIKit
import CoreData
class ViewController : UIViewController{
@IBOutlet var txtUsername:UITextField!
@IBOutlet var txtPassword:UITextField!
@IBAction func btnSave(){
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext!
var newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context) as NSManagedObject
newUser.setValue("" + txtUsername.text, forKey : "username")
newUser.setValue("" + txtPassword.text, forKey : "password")
context.save(nil)
println(newUser)
println("Object Saved.")
}
@IBAction func btnLoad(){
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context:NSManagedObjectContext = appDel.managedObjectContext!
var request = NSFetchRequest(entityName:"Users")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format : "username = %@", "" + txtUsername.text)
var results:NSArray = context.executeFetchRequest(request, error:nil)!
if(results.count > 0){
for res in results{
println(res)
}
}else{
println("0 Results Returned ... Potentioal Error")
}
}
//이하 생략
...override func viewDidLoad() ....
... override func didReceiveMemoryWarning()...
}