-1

データベースからデータをフェッチするときのコード:-

while(sqlite3_step(dataRows) == SQLITE_ROW)
        {
            clsGlobal *temp=[[clsGlobal alloc]init];
            //temp.CatId=sqlite3_column_int(dataRows,0);
            temp.QId =sqlite3_column_int(dataRows,0);
            temp.QName= [NSString stringWithUTF8String:(char *)sqlite3_column_text(dataRows,1)];
            temp.ImagePath= [NSString stringWithUTF8String:(char *)sqlite3_column_text(dataRows,2)]; //app crash when imagepath is nil

            NSLog(@"%d%@%@",temp.QId,temp.QName,temp.ImagePath);

だから私に正しい提案と役立つリンクを教えてください。

4

1 に答える 1

3

NSStringポインタを:に変換する前に、ポインタを確認してください。

char *text = (char *)sqlite3_column_text(dataRows,2);
temp.ImagePath = text ? [NSString stringWithUTF8String:text] : @"no image path in database";
于 2012-12-01T08:52:53.430 に答える