私の提案:
- データベースが重くなるため、画像をデータベースに保存しないでください
- 画像をドキュメントディレクトリに保存し、データベースへのパスを追加できます
- フォトライブラリ画像を使用している場合は、アセットURLをデータベースに保存します
解決:
選択クエリを使用してデータベースからデータを読み取ることができます
- (NSMutableArray *)getImage
{
NSMutableArray *imageArray = [[NSmutableArray alloc] init];
if (sqlite3_open([yourDatabasePath UTF8String], &dataBase) == SQLITE_OK)
{
NSString *select_sql=[NSString stringWithFormat:@"select PPhotos from imageTable];
const char *sql = [select_sql UTF8String];
sqlite3_stmt *selectstmt;
if(sqlite3_prepare(database, sql, -1, &selectstmt, NULL) == SQLITE_OK)
{
while(sqlite3_step(selectstmt) == SQLITE_ROW)
{
NSData *dataForCachedImage = [[NSData alloc] initWithBytes:sqlite3_column_blob(selectstmt, 0) length: sqlite3_column_bytes(selectstmt, 0)];
[imageArray addObject:[UIImage imageWithData:imageArray]];
}
}
return [imageArray autorelease];
}
ここではgetImage
、データベースに保存されているすべての画像が返されます。