画像をBLOBとしてデータベースに保存し、次のコーディングを使用して取得しました
const char*dbPath=[databasePath UTF8String];
if (sqlite3_open(dbPath, &sqliteHandler)==SQLITE_OK) {
sqlite3_stmt *stmt;
NSString *selctQuery=[NSString stringWithFormat:@"select * from imagetable where imageId=11"];
NSLog(@"selectQuery is %@",selctQuery);
const char *dispStmt=[selctQuery UTF8String];
sqlite3_prepare_v2(sqliteHandler, dispStmt, -1, &stmt, NULL);
NSLog(@"%d",sqlite3_prepare_v2(sqliteHandler, dispStmt, -1, &stmt, NULL));
while (sqlite3_step(stmt)==SQLITE_ROW) {
// NSString *pwd=[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(sqltmt, 1)];
// NSString *image1=[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(stmt, 1)];
// NSString *image2=[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(stmt, 2)];
// NSString *image3=[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(stmt, 3)];
//NSLog(@"%@",image1);
NSData *cachedImage1 = [[NSData alloc] initWithBytes:sqlite3_column_blob(stmt, 1) length: sqlite3_column_bytes(stmt, 1)];
NSData *cachedImage2 = [[NSData alloc] initWithBytes:sqlite3_column_blob(stmt, 2) length: sqlite3_column_bytes(stmt, 2)];
NSData *cachedImage3 = [[NSData alloc] initWithBytes:sqlite3_column_blob(stmt, 3) length: sqlite3_column_bytes(stmt, 3)];
thumbImage = [UIImage imageWithData:cachedImage1];
bgImage = [UIImage imageWithData:cachedImage2];
logoImage = [UIImage imageWithData:cachedImage3];
[cachedImage1 release];
[cachedImage2 release];
[cachedImage3 release];
}
}
次のコードを使用して表示しようとしました...
bCardFront.image=[UIImage imageNamed:bgImage]
しかし、それは言う警告メッセージを払います
互換性のないObjective-Cタイプ'structUIImage *'、予期される'struct NSString *'異なるObjective-Cタイプから'imageNamed:'の引数1を渡す場合
この画像を別々の画像ビューで表示する方法を教えてもらえますか?
前もって感謝します。