-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 回答