2011-10-20 6 views
1

페이스 북 API를 사용하여 iPhone 앱을 만들고 있습니다. 친구 목록과 프로필 사진을 테이블보기에로드했습니다. 그러나 지금은 천천히 달리고 있습니다. 사진로드 속도를 높이고 싶습니다. 어떻게해야합니까? 있는 tableview 위임 방법에이미지 로딩 - 페이스 북의 api-iphone 속도를 높이려면 어떻게해야합니까?

- (void)request:(FBRequest*)request didLoad:(id)result { 
    NSArray* users = result; 
    for (int ndx = 0; ndx < [users count] ; ndx++) 
    { 
     NSDictionary* user = [users objectAtIndex:ndx]; 
     NSString* name = [user objectForKey:@"name"]; 
     NSString *imageName = [user objectForKey:@"pic_big"]; 
     [imageArray addObject:imageName]; 
     [friendsList addObject:name]; 
    } 
} 

:

여기 내 예제 코드입니다

imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString: [imageArray objectAtIndex:indexPath.row]]]; 
     image = [[UIImage alloc] initWithData:imageData]; 

     cell.imageView.image =image; 

또한 사진 크기가 다릅니다. 도와주세요 감사합니다

+0

일부 코드를 표시하십시오 ... – booleanBoy

+0

코드를 추가했습니다. 감사. – Mithuzz

+0

U는 이미지로드를 동 기적으로 수행하려고합니다 ..... 비동기 URL 요청을 사용하여 시도하십시오. 그게 도움이 될 수도 ... – booleanBoy

답변

1

Lazyloading 개념을 사용하면 빠르게 실행할 수 있습니다.
그냥 lazyloading에 대한 this 클래스를 다운로드하십시오.

매우 쉽게 구현할 수 있습니다.

#import "UIImageView+WebCache.h" // Import this 

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    ------------------ 
    ------------------ 
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 

    cell.textLabel.text = @"My Text"; 
    return cell; 
} 
+0

응답에 감사드립니다. 모든 클래스 파일을 내 응용 프로그램에 가져와야합니까? – Mithuzz

+0

대단히 감사합니다 .. !! 그것을 얻게되었다. – Mithuzz

+0

여기에 하나의 문제점이 있습니다. 처음로드 할 때 모든 이미지 크기가 동일합니다. 그런 다음 아래로 스크롤하면 괜찮습니다. 하지만 위로 스크롤하면 사진 크기가 달라집니다. – Mithuzz

관련 문제