2014-03-27 5 views
0

거의 모든 것이 collectionViews이고 images 인 앱을 개발 중입니다.백그라운드에서 json 웹 서비스의 객체 가져 오기

앱이 시작되면 사진과 함께 볼 수 있습니다. 각 cell에는 userName, 사진의 도시 및 사진이 업로드되었습니다.

음, 만약 tap 도시 이름 Label (타임 라인 cell에) 당신의 (a collection view에서) 그 도시의 모든 이미지와 도시의 프로필을 볼 수 있습니다, 도시와 몇 가지 세부 사항의 점수. 어떤 그림이라도 내가 tap이라면, 새로운 사진 갤러리 ViewController가 시작된다. 그리고 내가 할 수있는 모든 그림 중의 NSArray가있는 것에 따라, scroll는 도시의 모든 그림을 본다. I는 동일한 happens (cell 타임 라인에서) 사용자 이름을 taplabel

는, I는 사용자 프로파일에서 사용자 정보 및 사용자의 화상의 표시 array 다운로드.

의 사진을 한 번 누르면 해당 사진이 PhotoGallery ViewController을 직접 실행합니다 (사진 배열을 다운로드하는 도시 또는 사용자 프로필을 실행하지 않고). 따라서 NSArray 만 있습니다. 하나의 그림. 내가 사진을 표시하고 동안 백그라운드에서 array 사용자 이미지를 얻을 수있는 방법

그래서, 내 질문은

* 은? * 나는 내가 getUserPictureArray라는 User class에서 클래스 메소드를 호출하고 서버에 호출이 만들어, 그 이미지를 얻을하고 delegate로 반환 할 수 있습니다 생각

. 그러나 나는 이것이 왜 최선의 방법이 아니라고 생각하지 않습니다.

아이디어가 있으십니까? 당신은 같은 것을 할 경우

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    [[AFHTTPRequestOperationManager manager] GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    // Do whatever you want with data in responseObject 
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    // Handle error 
    }]; 
}); 

이 백그라운드에서 데이터를 다운로드하고 success 블록에 당신은 절약 할 수 있습니다 : 댓글에 사람이 말하는 것처럼 당신에게

+1

AFNetworking https://github.com/AFNetworking/AFNetworking을 보셨습니까? http://www.raywenderlich.com/59255/afnetworking-2-0-tutorial – Flexicoder

+0

혼란 스럽습니다. 서버에서 미디어를 검색하는 방법을 분명히 알고 있습니다. 갤러리를 밀 때 왜 그렇게하지 않습니까? 또한 귀하의 질문 제목은 배경 가져 오기를 언급합니다. 따라서 아직 Grand Central Dispatch (https://developer.apple.com/library/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html)를 사용하지 않으 셨다면 추천 해드립니다. . – geraldWilliam

+0

현재 AFNetworking을 사용하고 있으므로 이미 알고 있습니다. 나는 모든 사용자 이미지를 다운로드하는 동안 그 그림을 보여주고 싶었습니다.) 내가하고 싶은 것은 잠금없이 메인 데이터를 얻는 것입니다. 많은 양의 그림이있는 사용자가 있습니다. – croigsalvador

답변

0

감사 그래서 ... 당신의 getUserPictureArray 방법에 AFNetworkingGCD를 사용하여 thos 사진을 NSArray으로 보내거나 원하는 것을 선택하십시오. 그러나 현명하게 그것을 기억하고 비어있을 때 NSArray을 참조하지 마십시오.

+0

예, 그것이 요점입니다. 얻을 때까지이 NSArray를 사용할 수 없으므로 주 스레드를 잠급니다. – croigsalvador

+0

그래서 'NSArray'가 해당 이미지로 채워질 때이를 관찰하고 통지해야합니다. – cojoj

관련 문제