오늘은 Core Data의 ManagedObject 에 데이터 저장 및 가져오기를 하도록 하겠습니다.
1.CoreData 프레임워크 import
2. ManagedObjectContext 얻기
Swift2.x
-------------------------------------------------------------------------------
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
==================================================================
Swift3
-------------------------------------------------------------------------------
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let managedContext = appDelegate.persistentContainer.viewContext
==================================================================
ManagedObjectContext 값을 getContext () 함수에 리턴 하도록 하자
-------------------------------------------------------------------------------
func getContext () -> NSManagedObjectContext {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
return appDelegate.persistentContainer.viewContext
}
==================================================================
3. ManagedObject 에 데이터 저장 (Save the Data)
-------------------------------------------------------------------------------
func SaveData (nameC: String, ageC: Int) {
//ManagedObjectContext 불러오기
let context = getContext()
//entity 설정
let entity = NSEntityDescription.entity(forEntityName: "Item", in: context)
let Itmes = NSManagedObject(entity: entity!, insertInto: context)
//entity 값 설정 key 값 == entity 속성값 이름
Itmes.setValue(nameC, forKey: "name")
Itmes.setValue(ageC, forKey: "age")
// 객체 저장 하기
do {
try context.save()
print("saved!")
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
} catch {
}
}
==================================================================
4. ManagedObject 에 데이터 가져오기 (Retrieve the Data)
-------------------------------------------------------------------------------
func getData () {
//entity값에 대한 fetch request 생성
let fetchRequest: NSFetchRequest<Item> = Item.fetchRequest()
do {
// 결과값 담기
let searchResults = try getContext().fetch(fetchRequest)
// for 문을 이용하여 Key 값에 대한 Value 값 가져오기
for Items in searchResults as [NSManagedObject] {
print("\(Items.value(forKey: "name"))")
print("\(Items.value(forKey: "age"))")
}
} catch {
print("Error with request: \(error)")
}
}
==================================================================
피드 구독하기:
댓글 (Atom)
추천 게시물
애플 개발자 등록방법 2016년 5월 8일 기준!!
애플 개발자 등록 절차 1. 개발자 등록 페이지 이동 애플 개발자 로그인 > Account 페이지 이동 > 하단 영역 클릭 (이미지 참조) >> Enroll 클릭 >> 무조건 승인!! ...
-
UIButton 텍스트 변경 및 텍스트 컬러 변경 - UIButton 텍스트 변경 editButton.setTitle("test", for: .normal) - UIButton 텍스트 컬러 변경 edi...
-
[애플리케이션의 상태] not running 사용자에 의해 아직 애플리케이션이 실행되고 있지 않거나 이미 실행된 후 사용자 혹은 운영체제에 의해 종료된 상태 foreground 애플리케이션이 현재 사용자에게 보여지고 있는 상태, 오직 ...
-
웹사이트 1. IBM Swift SandBox https://swift.sandbox.bluemix.net/ : 플레이그라운드와 유사한 모습으로 스위프트 코드 작성 및 실행 가능 인기있는 스위프트 소스코드를 볼 수 있고 간단한...
댓글 없음:
댓글 쓰기