как удалить ошибку "[NSString stringWithUTF8String:]: NULL cString' "?
Я sqlite3
test3.в SQL
3 ответов
а не просто
... = [NSString stringWithUTF8String:
(char *)sqlite3_column_text(compiledStatement, 15)]
вы хотите использовать что-то вроде
... = ((char *)sqlite3_column_text(compiledStatement, 15)) ?
[NSString stringWithUTF8String:
(char *)sqlite3_column_text(compiledStatement, 15)] : nil;
после использования тенарного оператора для получения значений из БД вам нужно проверить, равно ли значение 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];
}
Это означает, что sqlite3_column_text возвращает NULL. Он возвращает NULL, когда столбец равен NULL.