iPhone,sqlite3,如何检测空日期,分配给NSString时出错?

Jul*_*les 3 sqlite iphone xcode

这是我的代码

NSString *enddate = [[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(statement, 3)];                
Run Code Online (Sandbox Code Playgroud)

我需要有null日期,但是当一个null传递给这一行时,我收到一个错误

*由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [NSPlaceholderString initWithUTF8String:]:NULL cString'

Nik*_*uhe 13

您无法NSString使用NULL指针初始化对象,因此只需检查该条件:

const char* date = (const char*)sqlite3_column_text(statement, 3);
NSString *enddate = date == NULL ? nil : [[NSString alloc] initWithUTF8String:date];
Run Code Online (Sandbox Code Playgroud)