我正在尝试访问方法块但我不知道如何:
__block NSString *username;
PFUser *user = [[self.messageData objectAtIndex:indexPath.row] objectForKey:@"author"];
[user fetchIfNeededInBackgroundWithBlock:^(PFObject *object, NSError *error) {
username = [object objectForKey:@"username"];
NSLog(@"%@", username); //returns "bob";
}];
NSLog(@"%@", username); //returns null
Run Code Online (Sandbox Code Playgroud)
如何从块外部的代码访问变量'username'?
实际上你正在访问块外的变量用户名.您将获得null,因为该块在另一个线程中运行,并且您在块完成执行后设置该值.因此,当块运行时,你的最后一行已经在主线程中执行了,因此在执行最后一行时没有设置它的值.这就是你得到null的原因.
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |