2013-08-22 3 views
0

URL을 통해 데이터베이스 테이블에 이미지를 저장했습니다. 메신저가 URL에서 해당 이미지를 가져 오는 데 사용한 후. 나는 성공적으로 삽입했다. URL 경로가있는 이미지. 하지만 인스턴트 메시지를 가져올 때 이진 값 <Mydata: 0x71756b0>이 표시됩니다. 이게 뭐야?이진 값만 표시하는 이미지

코드 :

if (sqlite3_open([path UTF8String], &database) == SQLITE_OK) { 

     NSData* data = nil; 

     // UIImage *image = nil; 

     // const char *sql = "SELECT product_image FROM product order by order_by"; 

     const char *sql = "SELECT product_image FROM product"; 

     NSLog(@"sql is %s",sql); 

     sqlite3_stmt *statement; 
     // int catID = 0; 
     if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK) { 
      // We "step" through the results - once for each row. 
      while (sqlite3_step(statement) == SQLITE_ROW) { 
Mydata *Mylist = [[Mydata alloc]init]; 

       int length = sqlite3_column_bytes(statement, 2); 
       data  = [NSData dataWithBytes:sqlite3_column_blob(statement, 2) length:length]; 
       // UIImage *image = [UIImage imageWithData:data]; 

       Mylist.photo = [[UIImage alloc] initWithData:data]; 

       NSLog(@"my list is %@",Mylist); 

       [mArray addObject:Mylist]; 

} 
     } 
     sqlite3_finalize(statement); 
    } 

    else { 
     sqlite3_close(database); 
     NSAssert1(0, @"Failed to open database with message '%s'.", sqlite3_errmsg(database)); 
     // Additional error handling, as appropriate... 
    } 
} 

이미지 표시 : DB에, 데이터베이스에 저장 만 URL 링크를 이미지를 저장하는 대신에

int Width = 0; 

    for (int i = 0; i<[mArray count]; i++) { 


     NSLog(@"index %@", mArray[i]); 



    imgView1=[[UIButton alloc]initWithFrame:CGRectMake(20+(i*74), 0, 72, 72)]; 

     Width = Width + 20+(i*74); 

     [imgView1 setTag:i+1]; 

     [imgView1 addTarget:self action:@selector(Clicked:) forControlEvents:UIControlEventTouchUpInside]; 

     [imgView1 setImage:((Mydata *)[mArray objectAtIndex:i]).photo forState:UIControlStateNormal]; 

     [scrollview addSubview:imgView1]; 

     // [myScroll addSubview:imgView1]; 



    } 
+0

붙여 넣은 코드에는 'Mydata'라는 것이 없습니다. – Amar

+0

죄송합니다. 이 줄에서 편집 된 질문 확인 Mydata * Mylist = [[Mydata alloc] init]; – user2674668

+2

올바르게 표시되는 인스턴스의 주소를 기록하고 있습니다. 문제가 정확히 무엇입니까? – Amar

답변

2

.

URL에서 이미지를 가져 오는 데 ASyncImageView를 사용하십시오.

그래서 이미지는 서버에서 한 번만 가져와 로컬에 저장됩니다.

+0

이미지에만 URL 링크가 저장되었습니다. – user2674668

관련 문제