Я представляю UIAlertView
пользователю и не могу понять, как написать обработчик. Это моя попытка:
let alert = UIAlertController(title: "Title",
message: "Message",
preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Okay",
style: UIAlertActionStyle.Default,
handler: {self in println("Foo")})
У меня куча проблем с Xcode.
В документации говорится convenience init(title title: String!, style style: UIAlertActionStyle, handler handler: ((UIAlertAction!) -> Void)!)
Целые блоки / закрытия сейчас немного выше моей головы. Любое предложение очень ценится.
ios
uialertview
swift
uialertcontroller
Стив Маршалл
источник
источник
{alert in println("Foo")}
,,{_ in println("Foo")}
и{println("Foo")}
тоже должно работать.alert.addAction(UIAlertAction(title: "Okay", style: .default) { _ in println("Foo") })
Функции - это первоклассные объекты в Swift. Поэтому, если вы не хотите использовать закрытие, вы также можете просто определить функцию с соответствующей подписью, а затем передать ее в качестве
handler
аргумента. Обратите внимание:источник
Вы можете сделать это так просто, используя swift 2:
Все ответы выше верны, я просто показываю другой способ, который можно сделать.
источник
Предположим, вам нужен UIAlertAction с основным заголовком, двумя действиями (сохранить и отменить) и кнопкой отмены:
Это работает для swift 2 (Xcode Version 7.0 beta 3)
источник
Изменение синтаксиса в Swift 3.0
источник
В Swift 4:
источник
вот как я это делаю с xcode 7.3.1
// создаем кнопку
// добавляем кнопку в элемент управления предупреждением
// весь код, этот код добавит 2 кнопки
источник
создать оповещение, протестировано в xcode 9
и функция
источник
В Swift
В цели C
источник