-1

このスニペットはViewDidAppear()にあります

photosImgView.animationImages = [NSArray arrayWithObjects: 
[UIImage imageNamed:@"blueButton.png"],[UIImage imageNamed:@"slider_ball.png"], 
[UIImage imageNamed:@"icon-small-50.png"], nil];

ここにリストされている画像はバンドルに含まれているはずですが、正しく機能していますが、バンドルからphotosImgViewに画像を取得する代わりに必要なのはです。sqliteテーブルにある列名PPhotosの画像をphotosImgViewに取り、アニメーション化したい。

どうすればこれを行うことができますか?

4

1 に答える 1

0

私の提案:

  • データベースが重くなるため、画像をデータベースに保存しないでください
  • 画像をドキュメントディレクトリに保存し、データベースへのパスを追加できます
  • フォトライブラリ画像を使用している場合は、アセット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、データベースに保存されているすべての画像が返されます。

于 2012-12-03T12:23:38.040 に答える