我有一个Swift项目,我正在使用Objective C Custom Gesture Recognizer。
我已经成功地改变了一切,直到现在。无法想象如何转换 return ^(UITableView *tableView, NSIndexPath *indexPath) { };
我尝试的所有内容都无法编译。
目标C代码:
typedef void(^DRCellSlideActionBlock)(UITableView *tableView, NSIndexPath *indexPath);
typedef void(^DRCellSlideActionStateBlock)(DRCellSlideAction *action, BOOL active);
-(void)doSomething{
squareAction.didTriggerBlock = [self pushTriggerBlock];
}
- (DRCellSlideActionBlock)pushTriggerBlock {
return ^(UITableView *tableView, NSIndexPath *indexPath) {
NSLog(@"Do Something");
}]];
[self presentViewController:alertController animated:YES completion:nil];
};
}
我尝试了什么:
错误:连续的陈述必须分开....
return (tableView: UITableView, indexPath: NSIndexPath) in {
}
同样尝试完成(UIView.animateWithDuration
):
错误:连续的陈述必须分开....
return () -> (tableView: UITableView, indexPath: NSIndexPath) in {
顺便说一句,我是Swift的新手,请原谅我的代码
答案 0 :(得分:1)
为什么不直接查看封口'官方Swift指南中的语法?你完全被误导了闭包的样子。
return { (tableView: UITableView, indexPath: NSIndexPath) in
// closure body here
}