首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFNetworking异步数据获取

AFNetworking异步数据获取
EN

Stack Overflow用户
提问于 2012-06-15 17:27:05
回答 1查看 1K关注 0票数 0

我正在使用AFNetworking库从服务器中提取一个JSON提要来填充UIPickerView,但是我很难用异步的方式来处理事情。@property classChoices是一个用于填充UIPickerViewNSArray,因此web调用只执行一次。但是,由于该块在返回实例变量时尚未完成,因此getter返回零,并且它最终会导致我的程序稍后崩溃。如果能帮助解决这个问题,我们将不胜感激。如果你需要更多的信息,请告诉我。

PickerViewController.m classChoices Getter

代码语言:javascript
复制
- (NSArray *)classChoices {
    if (!_classChoices) {
        // self.brain here refers to code for the SignUpPickerBrain below
        [self.brain classChoicesForSignUpWithBlock:^(NSArray *classChoices) {
            _classChoices = classChoices;
        }];
    }
    return _classChoices;
}

SignUpPickerBrain.m

代码语言:javascript
复制
- (NSArray *)classChoicesForSignUpWithBlock:(void (^)(NSArray *classChoices))block {
    [[UloopAPIClient sharedClient] getPath:@"mobClass.php" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseJSON) {
        NSLog(responseJSON);
        if (block) {
            block(responseJSON);
        }
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);

        if (block) {
            block(nil);
        }
    }];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-15 17:30:17

您需要一个类似于PickerViewController中的方法,该方法在下载数组后返回数组。返回回调后,您可以继续使用代码:

代码语言:javascript
复制
- (void)classChoices:(void (^) (NSArray * classChoices)) _callback {
    if (!self.classChoices) {
        // self.brain here refers to code for the SignUpPickerBrain below
        [self.brain classChoicesForSignUpWithBlock:^(NSArray *classChoices) {
            _callback(classChoices);
        }];
    }
}

// call the method

- (void) viewDidLoad {

    [super viewDidLoad];

    [self classChoices:^(NSArray * updatedChoices) {

        self.classChoices = updatedChoices;

        [self.pickerView reloadAllComponents];

    }];

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11055468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档