Tôi nhận được một lỗiGán một biến bên trong một khối cho một biến bên ngoài một khối
Biến không thể chuyển nhượng (thiếu loại __block specifier)
trên dòng aPerson = participant;
. Làm thế nào tôi có thể chắc chắn rằng khối có thể truy cập biến số aPerson
và biến số aPerson
có thể được trả lại?
Person *aPerson = nil;
[participants enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
Person *participant = (Person*)obj;
if ([participant.gender isEqualToString:@"M"]) {
aPerson = participant;
*stop = YES;
}
}];
return aPerson;
Xin lưu ý rằng '__block' được bắt đầu bằng ** hai ** dấu gạch dưới. –
bằng cách sử dụng '__block' lỗi của tôi biến mất, nhưng giá trị không được giữ lại khỏi khối. Bất kỳ sự giúp đỡ nào ở đây – User16119012
Khối được gọi là tốt sau khi nó trông giống như nó nên được gọi, nói cách khác, các khối không chạy 'ngay lập tức'. –