--프로그래밍--/iOS, Swift

[Swift] Core Data 설명 및 예제

Prog_K 2015. 1. 28. 15:31

[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()...

}

 

 

http://loveseulji.tistory.com