iPhone作为Xcode模拟器未从sqlite数据库读取

问题描述 投票:0回答:1

我已经编写了一个利用Xcode附带的sqlite数据库的应用程序。它在Mac上运行良好,但是当我选择iPhone作为模拟器时,该应用程序(在iPhone上)无法读取数据库数据。我是否需要对访问sqlite数据库的代码进行编码,而不是在Mac上对其进行访问的代码?

这是我的功能,用于从在选择器视图中使用的数据库中获取数据。当我使用iPhone(通过USB链接到计算机)时,不会显示此选择器视图。但是,当我运行任何其他列出的模拟器时,它就会填充]

struct Gender {
    let gender:String
}

var genderCode = [Gender]()

func readGenderCode(){
    //database setup
    let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false) .appendingPathComponent("OTC.sqlite")
    //opening the OTC database
    if sqlite3_open(fileURL.path, &db) != SQLITE_OK {
        print("error opening database")
    }

    //get data by query
    let queryString = "SELECT gender from gender"

    //statement pointer
    var stmt2:OpaquePointer?

    //preparing the query
    if sqlite3_prepare(db, queryString, -1, &stmt2, nil) != SQLITE_OK {
        let errmsg = String(cString: sqlite3_errmsg(db)!)
        print("error preparing read: \(errmsg)")
        return
    }

    //go through gender table records
    while(sqlite3_step(stmt2) == SQLITE_ROW)  {
        let gc = String(cString: sqlite3_column_text(stmt2,0))

        //populate the array
        genderCode.append(Gender(gender: String(describing: gc)))
    }

}

我已经编写了一个利用Xcode附带的sqlite数据库的应用程序。它在Mac上运行良好,但是当我选择iPhone作为模拟器时,该应用程序(在iPhone上)无法读取数据库数据。我需要...

ios swift sqlite ios-simulator
1个回答
0
投票

此行为,在数据库中看不到数据的地方,通常只是意味着它是空的。

© www.soinside.com 2019 - 2024. All rights reserved.