Ios CoreData 간단한 예제로 배우기

ios 코어데이터

 

#.완성된 화면

ViewController : 데이터를 저장하는 화면. 데이터를 입력하고 save를 누르면 코어데이터에 저장이 된다.

 

 

MainViewController : 테이블뷰로 구성되어 있고, 위에서 저장한 데이터가 리스트 형식으로 뿌려진다.

#.스토리 보드

#.coredata 경로확인 및 로깅 방법

 

1.Edit Scheme 선택

 

2.Run  선택

 

3.Arguments탭 선택

 

4.제일 윗부분(Argument passed on launch)에 아래 옵션 추가

 

-com.apple.CoreData.SQLDebug 1

-com.apple.CoreData.Logging.stderr 1

 

 

#.출력 결과

더보기

CoreData: annotation: Connecting to sqlite database file at "/Users/hyunhojeong/Library/Developer/CoreSimulator/Devices/DFF6EC41-3141-49E9-B3EF-54D24F416C31/data/Containers/Data/Application/8648D6DB-21FD-4FCF-9CBC-1ECE02D2A2FF/Library/Application Support/CoreDataTest.sqlite"

CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'

CoreData: sql: pragma recursive_triggers=1

CoreData: sql: pragma journal_mode=wal

CoreData: sql: SELECT Z_VERSION, Z_UUID, Z_PLIST FROM Z_METADATA

CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'

CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_MODELCACHE'

CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'ACHANGE'

CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'ATRANSACTIONSTRING'

CoreData: sql: BEGIN EXCLUSIVE

CoreData: sql: SELECT Z_MAX FROM Z_PRIMARYKEY WHERE Z_ENT = ?

CoreData: sql: UPDATE OR FAIL Z_PRIMARYKEY SET Z_MAX = ? WHERE Z_ENT = ? AND Z_MAX = ?

CoreData: sql: pragma auto_vacuum

CoreData: annotation: sql execution time: 0.0003s

CoreData: sql: pragma auto_vacuum=2

CoreData: annotation: sql execution time: 0.0003s

CoreData: sql: COMMIT

CoreData: sql: BEGIN EXCLUSIVE

CoreData: sql: INSERT INTO ZPERSON(Z_PK, Z_ENT, Z_OPT, ZAGE, ZFIRSTNAME, ZIMAGE, ZLASTNAME) VALUES(?, ?, ?, ?, ?, ?, ?)

CoreData: sql: INSERT INTO ZPERSON(Z_PK, Z_ENT, Z_OPT, ZAGE, ZFIRSTNAME, ZIMAGE, ZLASTNAME) VALUES(?, ?, ?, ?, ?, ?, ?)

CoreData: sql: INSERT INTO ZPERSON(Z_PK, Z_ENT, Z_OPT, ZAGE, ZFIRSTNAME, ZIMAGE, ZLASTNAME) VALUES(?, ?, ?, ?, ?, ?, ?)

CoreData: sql: COMMIT

CoreData: sql: pragma page_count

CoreData: annotation: sql execution time: 0.0001s

CoreData: sql: pragma freelist_count

CoreData: annotation: sql execution time: 0.0001s

 

#.모델

image 칼럼만 옵셔널과 allows External storage 를 체크했다.

 

 

AppDelegate.h

 

AppDelegate.m

 

MainViewController.h

 

MainViewController.m

 

ViewController.h

 

ViewController.m

 

#.예제파일

CoreDataTest 2.zip
0.07MB

 

'아이폰 개발 > ios 개념&튜토리얼' 카테고리의 다른 글

ios 위변조 탐지 로직  (1) 2020.08.05
Ios push 기초 with Firebase  (1) 2020.08.01
SQLite 응용  (0) 2020.07.29
SQLite 기초  (0) 2020.07.29
Firebase를 이용해서 좌표 저장 후 지도에 표시  (0) 2020.07.29