iOS Xcode 샘플 프로젝트

이것은 샘플 테스트 프로젝트들이므로, 프로젝트 이름이 제대로 작동하려면 litesync-test가 되어야 한다.

이러한 제한은 전체 라이브러리에 존재하지 않는다.


SQLite.swift 래퍼

SQLite.swift 래퍼를 사용하는 2개의 샘플 프로젝트가 있다


첫 번째 제품은 SQL을 사용하는 간단한 인터페이스를 가지고 있다:

try db.execute("CREATE TABLE IF NOT EXISTS Tasks (id INTEGER PRIMARY KEY, name TEXT, done INTEGER)") try db.run("INSERT INTO Tasks (name, done) VALUES (?,?)", name, Int(done!)) for row in try db.prepare("SELECT * FROM Tasks") { let id = row[0] as! Int64 let name = row[1] as! String let done = Int(row[2] as! Int64) print("id: \(id) name: \(name) done: \(done)") }

다운로드



두 번째는 물체를 사용한다:

let tasks = Table("tasks") let id = Expression("id") let name = Expression("name") let done = Expression("done") try db.run(tasks.create(ifNotExists: true) { t in t.column(id, primaryKey: true) t.column(name) t.column(done) }) try db.run(tasks.insert(name <- taskname, done <- isdone!)) for task in try db.prepare(tasks) { print("id: \(task[id]) name: \(task[name]) done: \(task[done])") }

다운로드



네이티브 SQLite 인터페이스

이 샘플 프로젝트는 네이티브 SQLite 인터페이스를 사용한다

let queryString = "SELECT * FROM Tasks" var stmt:OpaquePointer? if sqlite3_prepare(db, queryString, -1, &stmt, nil) != SQLITE_OK{ let errmsg = String(cString: sqlite3_errmsg(db)!) print("error preparing statement: \(errmsg)") return } while(sqlite3_step(stmt) == SQLITE_ROW){ let id = sqlite3_column_int(stmt, 0) let name = String(cString: sqlite3_column_text(stmt, 1)!) let done = sqlite3_column_int(stmt, 2) print("id: \(id) name: \(name) done: \(done)") } sqlite3_finalize(stmt)

다운로드



지침들

두 프로젝트 모두:

1  수정된 SQLite 셸 및 시스템에 종속성 설치

2  SQLite 셸을 TCP 주소에 바인딩하는 기본 노드로 시작

3  프로젝트 코드에 연결할 TCP 주소 수정

4  시뮬레이터 또는 장치에서 프로젝트 구축 및 실행


주 노드에서 데이터베이스를 열려면 다음과 같은 명령을 사용하십시오:

sqlite3 "file:test.db?node=primary&bind=tcp://0.0.0.0:1234"