自 return 首次执行以来,如何 return 从块中获取对象?
how to return the object get from the block since the return is first executed?
我想从url获取版本,所以我这样写:
- (NSInteger)versionOnLine {
__block NSInteger ver = 0;
NSString *urlStr = [ServerURL stringByAppendingString:@"version.json"];
[[TXYManager sharedInstance] GET:urlStr
parameters:nil
progress:^(float progess) {
NSLog(@"progess is %f",progess);
} success:^(id responseObject) {
NSLog(@"download version file successfully");
if (!responseObject) {
return ;
}
ver = [[responseObject objectForKey:@"version"] integerValue];
NSLog(@"version : %ld",(long)ver);
} failure:^(NSError *error) {
NSLog(@"%@",error);
}];
return ver;
}
但是return是先执行,然后触发成功
如何获取更新后的值?
在成功的情况下,调用处理 returned 版本的东西。或者同步调用命名不当的 GET:parameters:progress:success:failure:
方法。
即在成功块中,执行:
dispatch_async(... get main queue ..., ^{
[self dealWithVersions:ver];
});
并使 -versionOnLine
return (void)
.
我想从url获取版本,所以我这样写:
- (NSInteger)versionOnLine {
__block NSInteger ver = 0;
NSString *urlStr = [ServerURL stringByAppendingString:@"version.json"];
[[TXYManager sharedInstance] GET:urlStr
parameters:nil
progress:^(float progess) {
NSLog(@"progess is %f",progess);
} success:^(id responseObject) {
NSLog(@"download version file successfully");
if (!responseObject) {
return ;
}
ver = [[responseObject objectForKey:@"version"] integerValue];
NSLog(@"version : %ld",(long)ver);
} failure:^(NSError *error) {
NSLog(@"%@",error);
}];
return ver;
}
但是return是先执行,然后触发成功
如何获取更新后的值?
在成功的情况下,调用处理 returned 版本的东西。或者同步调用命名不当的 GET:parameters:progress:success:failure:
方法。
即在成功块中,执行:
dispatch_async(... get main queue ..., ^{
[self dealWithVersions:ver];
});
并使 -versionOnLine
return (void)
.