2013-07-09 4 views
1

내가 ObjectiveFlickr가 문서화에 따라, 나는 버튼 액션objectiveflickr 인증

OFFlickrAPIContext *context = [[OFFlickrAPIContext alloc] initWithAPIKey:FLICKR_API_KEY sharedSecret:FLICKR_API_SHARED_SECRET]; 
OFFlickrAPIRequest *request = [[OFFlickrAPIRequest alloc] initWithAPIContext:context]; 
[request setDelegate:self]; 
[request fetchOAuthRequestTokenWithCallbackURL: [NSURL URLWithString:FLICKR_CALLBACK]]; 

이 블록을 쓴 한 설정을했습니다하지만 난 버튼의 속삭임을 클릭하면이

- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didObtainOAuthRequestToken:(NSString *)inRequestToken secret:(NSString *)inSecret 
을 발생 실패

호출되지 않습니다, 거의 아무 반응이 없습니다

답변

1

(예, 오래된 질문은, 희망이 다른 사람을 도움이 될 것입니다)

OFFlickrRequest 개체를 할당 할 때 해당 개체를 클래스의 속성으로 만들고 이 아닌 로컬 변수로 유지하는 등의 방법으로 해당 개체를 할당해야합니다. 현재 범위 내에 만 저장하면 범위를 종료 할 때 ARC가이를 삭제하므로 비동기 fetchOAuthRequest 호출이 반환 될 때 대리자가 호출 할 참조가 없습니다.

즉 이것은 잘못된 것입니다 :

- (void)doDBLogin:(UIButton*)button { 
    OFFlickrAPIRequest *flickrRequest = [[OFFlickrAPIRequest alloc] initWithAPIContext:_flickrContext]; 
    [flickrRequest setDelegate:self]; 
    [flickrRequest fetchOAuthRequestTokenWithCallbackURL:[NSURL URLWithString:MY_AUTH_URL]]; 

    // At this point, flickrRequest is about to be destroyed. 
} 
+0

가 대단히 감사합니다! – Plot