访问块属性

时间:2013-07-08 15:11:57

标签: ios objective-c

如何从块外部访问[insertedItem objectForKey:@“id”]的值?

   [itemTable insert:item completion:^(NSDictionary *insertedItem, NSError *error) {
        if (error) {
            NSLog(@"Error: %@", error);
        } else {
            NSLog(@"Item inserted, id: %@", [insertedItem objectForKey:@"id"]);
        }
    }];

1 个答案:

答案 0 :(得分:1)

你做不到。将块视为匿名方法。你能从外面访问方法的局部变量吗?没有。

如果需要,可以将值保存在另一个变量中并访问它:

[itemTable insert:item completion:^(NSDictionary *insertedItem, NSError *error) {
   self.insertedItem = insertedItem;
}];

显然,确保insertedItem是strong引用。