如何从块外部访问[insertedItem objectForKey:@“id”]的值?
[itemTable insert:item completion:^(NSDictionary *insertedItem, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"Item inserted, id: %@", [insertedItem objectForKey:@"id"]);
}
}];
答案 0 :(得分:1)
你做不到。将块视为匿名方法。你能从外面访问方法的局部变量吗?没有。
如果需要,可以将值保存在另一个变量中并访问它:
[itemTable insert:item completion:^(NSDictionary *insertedItem, NSError *error) {
self.insertedItem = insertedItem;
}];
显然,确保insertedItem是strong
引用。