0
AFNetworking을 사용하여 데이터를 가져오고 있으며 UIController가 될 수있는 Service 클래스의 델리게이트가 있습니다. Service 클래스는 AFNetworking 클래스를 통해 데이터를 가져 오는 작업을 담당합니다. 대의원이 AFNetworking 응답 블록에서 nil이됩니까?
//Class Service.
@interface Service : NSObject {
__weak id<ServiceDelegate>delegate;
}
- (void) doFetch:(APIInput*) input {
NSURL *url = [NSURL URLWithString:[self getLocation:input]];
NSLog(@"url request is: %@", url);
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
//NSLog(@"IP Address: %@", [JSON valueForKeyPath:@"origin"]);
[self.delegate serviceDidComplete:[self allocNewData:JSON]];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response,
NSError *error, id JSON){
[self.delegate serviceFailed: error];
}];
[operation start];
}
그리고 UIController의 viewDidLoad에서
: 나는 iOS 앱을 실행하면 나는self.networkService = [[Service alloc] init];
[self.networkService setDelegate:self];
다음 한이 self.delegate는 전무하다. 왜 이런 일이 일어나는 걸까요?