经过大量搜索,我找到了各种解决方案,但在我的情况下没有任何效果。在 NSDictionary 中绑定数据时出现此错误。崩溃日志是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSDictionary dictionaryWithObjectsAndKeys:]: second object of each pair must be non-nil. Or, did you forget to nil-terminate your parameter list?'
*** First throw call stack:
代码 :
while(sqlite3_step(select_statement) == SQLITE_ROW)
{
// const char* recipeID = (const char*)sqlite3_column_text(select_statement, 1);
// const char* recipename = (const char*)sqlite3_column_text(select_statement, 0);
// const char* recipepicname = (const char*)sqlite3_column_text(select_statement, 3);
// const char* chapterid = (const char*)sqlite3_column_text(select_statement, 4);
// const char* recipedesc = (const char*)sqlite3_column_text(select_statement, 2);
//
//
// srtRecipestepId = recipeID == NULL ? nil : [[NSString alloc]initWithUTF8String:recipeID];
// strRecipeName = recipename == NULL ? nil : [[NSString alloc]initWithUTF8String:recipename];
// NSString *recipePicName = recipepicname == NULL ? nil : [[NSString alloc]initWithUTF8String:recipepicname];
// strRecipeIntro = recipedesc == NULL ? nil : [[NSString alloc]initWithUTF8String:recipedesc];
// NSString *strchapterId = chapterid == NULL ? nil : [[NSString alloc]initWithUTF8String:chapterid];
srtRecipestepId=[NSString stringWithUTF8String:(char *)sqlite3_column_text(select_statement, 1)];
strRecipeName=[NSString stringWithUTF8String:(char *)sqlite3_column_text(select_statement, 0)];
// RecipestepPics = [[NSData alloc] initWithBytes:sqlite3_column_blob(select_statement, 3) length:sqlite3_column_bytes(select_statement, 3)];
NSString *recipePicName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(select_statement, 3)];
strRecipeIntro = [NSString stringWithUTF8String:(char *)sqlite3_column_text(select_statement, 2)];
NSString *strchapterId = [NSString stringWithUTF8String:(char *)sqlite3_column_text(select_statement, 4)];
[arrreturnRecipefinder addObject:[NSDictionary dictionaryWithObjectsAndKeys:srtRecipestepId,@"RecipestepId",strRecipeName,@"RecipeName",recipePicName,@"RecipestepPics",strRecipeIntro,@"RecipeIntro",strchapterId,@"RecipeChapterId"]];
}