Не удается найти инициализатор для типа "UITableViewRowAction"

Почему он продолжает показывать мне это сообщение, хотя я ввожу правильное объявление UITableViewRowAction?

var shareAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Share",
        handler: { (action:UITableViewRowAction!, indexPath: NSIndexPath) -> Void in

1 ответ

Решение

Документация Xcode 6.4 говорит, что оба параметра должны быть неявно развернутыми опциями.

var shareAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Share",
        handler: { (action: UITableViewRowAction!, indexPath: NSIndexPath!) -> Void in

или в Xcode 7 ни один из параметров не является обязательным.

var shareAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Share",
        handler: { (action: UITableViewRowAction, indexPath: NSIndexPath) -> Void in

В любом случае, вы должны попробовать

var shareAction = UITableViewRowAction(style: .Default, title: "Share") {
    action, indexPath in
    /* ... */
}

Что является более быстрым способом сделать это.

Другие вопросы по тегам