2016-09-05 5 views
4

Когда я стащить UITableView ячейку, следующий код называется:Swift 3: UITableViewRowActionStyle() "Отсутствует параметр" Error Msg

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 в этом Порядок размещения п?

ответ

11

Инициализаторы по умолчанию удаляются из некоторых импортированных типов перечислений в Swift 3.

Используйте UITableViewRowActionStyle.default (или в вашем случае просто .default) вместо UITableViewRowActionStyle().

let delBut = UITableViewRowAction(style: .default, title: delete_InLocal) { action, index in 
2

Используйте UITableViewRowActionStyle, как будто это перечисление. Если вы ее увидите несколько вариантов:

UITableViewRowActionStyle.Default 
UITableViewRowActionStyle.Destructive 
UITableViewRowActionStyle.Normal 

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

Несколько раз только «особые» случаи предусмотрены таким образом ... и вы должны использовать RawValue: 0 для того, чтобы обозначить поведение по умолчанию

+0

начиная с Xcode 8 бета-версии 6 следует начинать с букв нижнего регистра 'UITableViewRowActionStyle.destructive' –

 Смежные вопросы

  • Нет связанных вопросов^_^