2012-11-27 2 views
1

Rubymotion을 사용하여 iOS 앱을 만들고 있습니다. 사용자 정의 tableview 행 을 만들고 있는데 원격 API (JSON 객체에서 URL 가져 오기)에 큰 이미지를 추가하고 싶습니다.원격 URL에서 이미지를 만들고이를 셀에 추가하십시오.

어떻게하면됩니까? 어디서나 원격 URL에서 이미지를 작성한 다음 셀에 추가하는 방법을 찾을 수 없습니다.

모든 도움에 감사드립니다!

지금이 코드를 사용하고 있지만, 테이블을 스크롤 할 때 성능이 매우 나쁜

업데이트.

url = NSURL.URLWithString("http://www.gravatar.com/avatar/1d92e61d7066383b1e3c797ea635f86e?s=128&d=identicon&r=PG") 
    data = NSData.dataWithContentsOfURL(url) 
    remote = UIImage.imageWithData(data) 
    image = UIImageView.alloc.initWithFrame([[50, 50],[150, 50]]) 
    image.contentMode = UIViewContentModeScaleAspectFit 
    image.image = remote 

업데이트 2

내가 좋은 성능을 가서이 코드로 끝났다. 이제 이미지 캐시 방법을 알아야합니다.

Dispatch::Queue.concurrent.async do 
     data = NSData.alloc.initWithContentsOfURL(NSURL.URLWithString(post.image_medium)) 
     if data 
     image = UIImage.alloc.initWithData(data) 
     Dispatch::Queue.main.sync do 
      image_view = UIImageView.alloc.initWithFrame([[210, 10],[80, 80]]) 
      image_view.image = image 
      view.addSubview(image_view) 
     end 
     end 
    end 

답변

1

는 하나 개의 셀에 사용되는 하나 개의 이미지가 있다면

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.example.com/exampleImage.png"]]; 
yourCell.image = [UIImage imageWithData:data]; 

당신은 다음의 제비가 또는 UI 사용을 AsyncImageView

+0

감사를 차단하지 않으려면! 하지만 Ruby에서 어떻게이 작업을 수행 할 수 있습니까? –

+0

죄송합니다, 나는 그것을 빨리 읽었으며 rubymotion을 사용하고 있다는 것을 알지 못했습니다. 나는 당신이 비록 서버에서 루비를 사용하고 있긴하지만. 루비 모션 구문을 모르지만 첫 번째 부분은 내가 게시 한 코드와 유사해야합니다. rubymotion doc을 살펴 보았을 때 NSURL, NSData UIImage 및 UITableViewCell이 있습니다. 단계는 동일합니다. – jcesarmobile

+0

시도해 보았지만 코드를 Ruby로 변환하는 데 성공했지만 (업데이트 된 내용 참조) 스크롤 할 때 성능이 매우 떨어졌습니다. –