我有以下代码:
- (Transporter *) getTransporter:(NSNumber *)transporterId
{
for(Transporter *transporter in transporters)
{
if([transporter.transporterId isEqualToNumber:transporterId])
{
return transporter;
}
}
__block Transporter *transporter;
[self requestTransporter:transporterId completion:^(NSObject *entity) {
transporter = (Transporter* )entity;
}];
return transporter;
}
我的问题是:__block Tranporter 是如何工作的?iOS 会等到变量获得值吗?还是我有一个 nil 值,然后是一个对象?
块方法是否适用于具有返回值的方法?