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];
}
붙여 넣은 코드에는 'Mydata'라는 것이 없습니다. – Amar
죄송합니다. 이 줄에서 편집 된 질문 확인 Mydata * Mylist = [[Mydata alloc] init]; – user2674668
올바르게 표시되는 인스턴스의 주소를 기록하고 있습니다. 문제가 정확히 무엇입니까? – Amar