(Swift3) swift3 관점에서의 sqlite3 API 분석 – C-API 사용법 심화

Swift에서 sqlite3 사용하기에 대한 글을 몇 편 작성했었는데, 이 글에서는 C API를 사용하는데 있어서 관련되는 Swift 타입들과, 실제 C/C++ API가 어떤식으로 변환되어 Swift 영역으로 들어오는지에 대해 좀 더 자세하고 깊이 들여다보도록 하겠다. sqlite3_open 먼저 데이터베이스 파일을 열고 커넥션을 만드는 부분부터 시작하자. 모든 작업의 시작점이 될 sqlite3_open() 함수의 원형1은 다음과 같다. 파일경로를 받아서 연결을 생성한 후

SQLite3 를 Swift 에서 브릿징 없이 사용하는 법

Swift에서 C/C++ API를 이용해서 Sqlite3 를 쓰는 법 Swift에서 SQLite3를 사용하는 방법 중에서 가장 간단한 것은 Objective-C로 인터페이스하는 클래스를 만들어서 이를 Swift로 브릿징하여 사용하는 방법이다. 하지만, 테이블 스키마나 구조에 따라서 매번 Objective-C 클래스를 수정 변경하는 것이 좀 귀찮을 수도 있고, Objective-C 에서도 Swift를 위한 타입 어노테이션이 붙게됨에 따라서 이런 문법이 복잡하고 괜히 어렵게 느껴지는 사람도

Swift에서 SQLite3를 사용하는 방법 (Objective-C + Bridging)

sqlite3를 Objective-C에서 사용하는 것은 Objective-C가 C이기도 하므로, C/C++ API를 그대로 써서 사용하면 됐다. 여기서 필요한 것은 크게 7종류의 함수이다. (각 함수에 대해서는 이전 글들이나 레퍼런스 문서를 참고하자)

iOS에서 SQLite3 사용하는 방법 (Objective-C)

Swift3 버전에 대한 SQLite3 사용법은 이 포스트를 참고하시라. 예전에 쓴 글이 있기는 하지만, 그냥 요리법처럼 쓴 글이기도 하거니와 소스코드에서 뭔가 글자가 빠지는 등(syntax highlighter를 안써야 겠지만 기존 글 고치기가 귀찮아…) 문제가 많아 내용을 보충해서 다시 작성. 애플은 SQLite3를 직접 인터페이스하는 것보다는 코어데이터를 사용하라고 권장하고 있고, (실제로 있다가 빠진 것인지는 알 수 없으나 그런 주장을 하는