Cha*_*har 9 database sqlite iphone ios
我正在创建一个sqlite3 test3.sql数据库,使表成为
CREATE TABLE rest (name VARCHAR(100), price VARCHAR(100));
Run Code Online (Sandbox Code Playgroud)
表已成功创建,但现在当我使用方法插入和检索数据,然后得到错误,,,
错误在线
NSString *str = [NSString stringWithUTF8String:
(char *)sqlite3_column_text(compiledStatement, 1)];
Run Code Online (Sandbox Code Playgroud)
错误是 +[NSString stringWithUTF8String:]: NULL cString'
这是什么错误,如何删除它?
Mar*_*arc 29
而不是只有
... = [NSString stringWithUTF8String:
(char *)sqlite3_column_text(compiledStatement, 15)]
Run Code Online (Sandbox Code Playgroud)
你想用类似的东西
... = ((char *)sqlite3_column_text(compiledStatement, 15)) ?
[NSString stringWithUTF8String:
(char *)sqlite3_column_text(compiledStatement, 15)] : nil;
Run Code Online (Sandbox Code Playgroud)
使用tenary运算符从db获取值后,您必须检查值是否为nil.否则程序仍会崩溃.
NSString *retrievedString = ((char *)sqlite3_column_text(statement, 15)) ?
[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 15)] :
nil;
if(retrievedString == nil){
[allSteps addObject:@""];
} else {
[allSteps addObject:retrievedString];
}
Run Code Online (Sandbox Code Playgroud)