2012-11-18 4 views
0

지금 어떻게 완료됩니까?iOS의 여러 객체 관리자

RKObjectManager *flickrManager = 
[RKObjectManager objectManagerWithBaseURL:flickrBaseUrl]; // <-- shared singleton 

RKObjectManager *foursquareManager = 
[[RKObjectManager objectManagerWithBaseURL:foursquareBaseUrl] retain]; // <-- you must retain every other instance 

그러나 더 이상 유지 사용하지 않기 때문에, 당신은 무엇을해야합니까 :

나는 당신이 그것을 유지와 함께 할하는 데 사용 알지?

현재 저는 2 명의 객체 관리자가 있습니다.하지만 1 개의 응답 만받습니다. 요청 중 하나가 다른 요청을 취소하는 것 같습니다.

UPDATE

RKURL *baseURL = [RKURL URLWithBaseURLString:@"http://iphone.meer.li"]; 
RKObjectManager *designObjectManager = [RKObjectManager objectManagerWithBaseURL:baseURL]; 
//...Mapping design here... 
RKURL *URL = [RKURL URLWithBaseURL:[designObjectManager baseURL] resourcePath:[NSString stringWithFormat: @"/%@.json", subUrl]]; 
[designObjectManager loadObjectsAtResourcePath:[NSString stringWithFormat:@"%@", [URL resourcePath]] delegate:self]; 

RKObjectManager *designerObjectManager = [RKObjectManager sharedManager];  
RKObjectMapping *designerMapping = [RKObjectMapping mappingForClass:[DesignerData class] ]; 
//...Mapping designer here... 

RKURL *URL = [RKURL URLWithBaseURL:[designerObjectManager baseURL] resourcePath:[NSString stringWithFormat: @"/%@.json", subUrl]]; 
[designerObjectManager loadObjectsAtResourcePath:[NSString stringWithFormat:@"%@", [URL resourcePath]] delegate:self]; 

그래서이 내 진짜 코드입니다. objectmanagers가 ARC로 유지되어야하기 때문에 내가 왜 실패하고 있는지 알 수 없습니다.

제안 사항?

+0

그들은 모두 MRC에서 유지되어야한다. 그것이 귀하의 요청 중 하나가 실패하는 이유입니다. – CodaFi

+0

위의 코드는 실제 코드가 아닙니다. Restkit 웹 사이트의 제안입니다. 위의 코드를 업데이트에 게시했습니다. 어떤 제안? –

답변

1

당신은 더 이상

RKObjectManager *designerObjectManager = [RKObjectManager sharedManager]; 

를 사용할 필요가 없습니다.

"처음 만든 개체 관리자는 기본적으로 RestKit에서 사용하는 공유 단독 개체가 될 것입니다. 그러나 추가 개체 관리자를 만들면 필요에 따라 BaseURL을 가져와이 새 관리자를" RestKit Wiki.

0

귀하의 designObjectManager가 (요청을 보내는 곳에서) 메소드의 로컬 범위에 있습니다. 스코프가 끝나 자마자 ARC에 의해 해제됩니다. 클래스 또는 속성의 인스턴스 변수로 designObjectManager를 만들 수 있습니다.

+0

두 개의 객체 관리자를 인스턴스 변수로 만들려고했지만 행운이 없었습니다. objectManager 오브젝트 중 하나만로드합니다. 정말 이상한데, 호출하기 때문에 - (void) objectLoader : (RKObjectLoader *) objectLoader didLoadObjects : (NSArray *) objects; 두 번이나, 처음에는 어떤 물건도 갖지 못했습니다. –

0

나는 그것을 알아 냈다. 동일한 객체 로더에서 요청을하고있었습니다.

대답과 설명은 여기에서 찾을 수있다 : 모든 편의 생성자는 오토 릴리즈되기 때문에 Objects not loading on second request in Restkit