[问题] block包在function中

楼主: valda (valda)   2014-09-04 17:42:18
最近写的APP跟FB有强烈的相关性
常需要使用facebook graph api
所以想说在base class中
create method专跟facebook graph api要资料
-(id)requireToFB:(id)parameter
{
__block id finalResult=nil;
FBRequest *request = [FBRequest requestForGraphPath:parameter];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id
result, NSError *error) {
if ([result[@"data"]count]) {
finalResult=result[@"data"];
for (id data in result[@"data"]) {
if ([data[@"name"] isEqualToString:@"Profile Pictures"]) {
NSLog(@"The Profile Pictures ID:%@",data[@"id"]);
}
}
}
}];
return finalResult;
}
不管我怎么取回传都是nil
但是单独放在程式中执行,却又可以
有人知道这样怎么解呢?
感谢
作者: kiii210 (HelloWorld!)   2014-09-04 17:55:00
因为程式还没取到值 就已经回传了可以用block来解决(void(^)(id parameter))completionBlock取到值completionBlock(finalResult)

Links booklink

Contact Us: admin [ a t ] ucptt.com