5

当我滑动 UITableView 单元格时,会调用以下代码:

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {

    //Problem code
    let delBut = UITableViewRowAction(style: UITableViewRowActionStyle(), title: delete_InLocal) { action, index in
        //Setup

现在我已经开始迁移到 Swift 3,我在 UITableViewRowActionStyle() 上收到一条错误消息:

调用中缺少参数“rawValue”的参数

有人知道在这种情况下 Swift 3 的语法是什么吗?

4

2 回答 2

12

在 Swift 3 中,从一些导入的枚举类型中删除了默认初始化器。

使用UITableViewRowActionStyle.default(或在您的情况下简单地.default)而不是UITableViewRowActionStyle().

    let delBut = UITableViewRowAction(style: .default, title: delete_InLocal) { action, index in
于 2016-09-05T23:06:03.840 回答
2

像使用枚举一样使用 UITableViewRowActionStyle。如果您键入它,您将看到多个选项:

UITableViewRowActionStyle.Default
UITableViewRowActionStyle.Destructive
UITableViewRowActionStyle.Normal 

let delBut = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: delete_InLocal) { action, index in
}

有时仅以这种方式提供“特殊”情况......您必须使用 rawValue: 0 来表示默认行为

于 2016-09-05T22:53:16.463 回答