Это мой код: Пожалуйста, проверьте, не удалось ли что-то поделать неправильно? Пожалуйста, дайте мне код для UIActionSheet (UIAlertController) с массивом в быстройОшибка UIAlertController? Пожалуйста, дайте код для UIAlertController с Array of Strings As Buttons in Swift
let alertA = UIAlertController(title: "PlayLists", message: "Select From PlayLists Below", preferredStyle: .ActionSheet)
let action = UIAlertAction(title: "Cancel", style: .Default, handler: {(alert: UIAlertAction!) in
})
let playListModel = PlayListModel.sharedInstance
plLists = playListModel.getPlayListNames()
for(var i = 0; i < plLists.count; i++){
alertA.addAction(UIAlertAction(title: plLists.objectAtIndex(i) as? String, style: .Default, handler: {
action in
NSLog("%@",String(i))
}))
}
alertA.addAction(action)
self.presentViewController(alertA, animated: true, completion: nil)
В этом коде, если у меня есть 3 плейлистов actionsheet показывает три плейлистов вместе с кнопкой отмены. Когда я нажимаю на первую кнопку, он будет печатать значение 4 (где я прекратил увеличивать). Почему это печатает это? Он должен печатать значение i
с 1, правильно? В чем проблема? Правильно ли действие внутри цикла for?
Похоже, что у вас есть языки? Почему вы используете функцию NSLog в своем быстром коде. Вместо этого попробуйте использовать инструкцию печати. – TheAppMentor
@ TheAppMentor NSLog не устарел, он работает нормально с Swift. :) Хотя я также предпочитаю использовать 'print', нет никакой проблемы с использованием NSLog. – Moritz
@ TheAppMentor и Eric D .. Хорошо, но он должен печатать 1 не 4 ... Почему это печатает 4 вместо 1 – Jack