Форум программистов, компьютерный форум, киберфорум
Наши страницы
Swift
Войти
Регистрация
Восстановить пароль
 
wwn41268
-1 / 14 / 2
Регистрация: 14.12.2017
Сообщений: 240
#1

Ждать выбор пользователя - Swift

07.02.2018, 11:08. Просмотров 262. Ответов 11
Метки нет (Все метки)

привет!
шлю пользователю алерт и потом делаю гет запрос исходя с ответом пользователя
http://www.cyberforum.ru/cpp-beginners/thread890103.html
Код
let userAction = UIAlertController(title: "Select", message: "Select an action", preferredStyle: UIAlertControllerStyle.alert)

userAction.addAction(UIAlertAction(title: "action 1", style: .default, handler: { (action: UIAlertAction!) in
    let a = 1
}))

userAction.addAction(UIAlertAction(title: "action 2", style: .cancel, handler: { (action: UIAlertAction!) in
    let a = 2
}))

present(userAction, animated: true, completion: nil)
но запрос посылается до того как пользователь выберет опцию
как сделать так что бы код после алерта не бежал пока алерт не будет закрыт?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2018, 11:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ждать выбор пользователя (Swift):

Выбор пользователя/блокировка
Здравствуйте все. Я не знаю где и что я не так клацнул,но раньше у меня было 3...

Бесконечный выбор пользователя
Ничто не предвещало беды, как при включении комп стал просить выбрать...

Выбор пользователя из БД по его шансу
Помогите, пожалуйста. Вот смотрите, при загрузке страницы у меня должна...

Повторяющиеся вылеты на выбор пользователя W7
Всем добра! Столкнулся с такой проблемой: есть ноут asus k55d с ОС "W7 хоум...

Как убрать выбор пользователя?
Поставил себе виндус7 работает нормально как то рас повис пришлось нажать на...

11
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
07.02.2018, 14:37 #2
Поместить код запроса внутрь action кнопки алерта.
0
wwn41268
-1 / 14 / 2
Регистрация: 14.12.2017
Сообщений: 240
07.02.2018, 15:25  [ТС] #3
ExFau$t, туда return не засунуть ибо вылетает "unexpected non-void return value in void function"
0
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
07.02.2018, 16:00 #4
Причём тут return.
0
wwn41268
-1 / 14 / 2
Регистрация: 14.12.2017
Сообщений: 240
07.02.2018, 16:02  [ТС] #5
ExFau$t, этот код что я выше предоставил у меня в функции,из которой должен быть возврат
0
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
08.02.2018, 10:24 #6
И как это мешает кнопкам алерта?
0
wwn41268
-1 / 14 / 2
Регистрация: 14.12.2017
Сообщений: 240
08.02.2018, 12:01  [ТС] #7
ExFau$t, действия в кнопках алерта это инлайн функция и если делать return оттуда,то этот return компилятором считается как возврат из инлайн функции,а не основной
0
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
08.02.2018, 12:26 #8
Ещё раз: алерт не имеет никакого отношения к каким-то там функциям с return.
0
wwn41268
-1 / 14 / 2
Регистрация: 14.12.2017
Сообщений: 240
08.02.2018, 13:01  [ТС] #9
ExFau$t, повтарюсь,алерт у меня внутри функции

полный код:
Код
function myFunc() -> {
	var a = 0 // default
	let userAction = UIAlertController(title: "Select", message: "Select an action", preferredStyle: UIAlertControllerStyle.alert)

	userAction.addAction(UIAlertAction(title: "action 1", style: .default, handler: { (action: UIAlertAction!) in
	    a = 1
	}))

	userAction.addAction(UIAlertAction(title: "action 2", style: .cancel, handler: { (action: UIAlertAction!) in
	    a = 2
	}))

	present(userAction, animated: true, completion: nil)

	let resp = Just.get("http://localhost/\(a)").text
	return resp
}
0
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
08.02.2018, 15:00 #10
Боже мой, а что слабо вызвать алерт, а в нём эту функцию с запросом?
0
wwn41268
-1 / 14 / 2
Регистрация: 14.12.2017
Сообщений: 240
08.02.2018, 16:09  [ТС] #11
ExFau$t, дык мне нужно алерт из функции вызывать,там куча бизнес логики и не алерту её определять
0
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
08.02.2018, 23:21 #12
Цитата Сообщение от wwn41268 Посмотреть сообщение
куча бизнес
Да ладно, нет у тебя никакой бизнес-логики. В идеале функцию надо переписать, запрос в отдельный поток и вызывать callback вместо return. Вызов запроса будет в action кнопки. В простом случае вызывать alert, а из него функцию запроса с return.
0
08.02.2018, 23:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2018, 23:21
Привет! Вот еще темы с решениями:

Включается win7=>выбор пользователя
у меня о5 проблема. я установил прогу (там было выставлео установить для...

Выбор одного пользователя. Задолбалооооо
Такая проблема: на компе (не моем) при запуске выдает выбор пользователя. Там...

Выбор пользователя при входе
Здравствуйте! У меня такой вопрос по mysql: Когда я включаю MySql Command Line...

Выбор идентификатора пользователя через цикл for
Как через цикл for из /etc/passwd (путем прохождения всех записей в этом файле)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru