我有一个在回调中异步返回对象(例如 UserProfile)的方法。
基于这个 UserProfile 对象,一些代码计算 aUITableViewCell
是否可编辑:
我创建了以下代码,但不幸的是它不起作用。
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
Entry *entry = [[self.feed entries] objectAtIndex:[indexPath row]];
typedef BOOL (^BOOLBlock)(id);
BOOLBlock bar = ^BOOL (id p) {
if (p) {
UserProfile *user = (UserProfile *) p;
NSEnumerator *e = [[entry authors] objectEnumerator];
id object;
while (object = [e nextObject]) {
if ([[object name] isEqualToString:[[[user authors] objectAtIndex:0] name]])
return TRUE;
}
return FALSE;
}
else {
return FALSE;
}
};
[[APPContentManager classInstance] userProfile:bar];
}
在最后一行,它说不兼容的块指针类型正在发送
'__strong BOOLBlock' (aka 'BOOL (^__strong)(__strong id)') to parameter of type 'void (^)(UserProfile *__strong)'
APPContentManager.h
-(void)userProfile:(void (^)(UserProfile *user))callback;