Мне нужен быстрый оптимальный способ создания оператора if else, который проверяет строку и несколько строк
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ANY OF MULTIPLE STRINGS 'x1'-'x9'"{
let JVC = segue.destinationViewController as VC3
JVC.betSource = segue.identifier!
} else {
let KVC = segue.destinationViewController as VC2
KVC.source = segue.identifier!
}
Следует ли мне использовать строку Array:, сделать 9 разных if / else или что-то совершенно другое?
Я не знаю, что бы запускать код наиболее оптимально. пожалуйста, порекомендуйте
4 ответа
Самый оптимальный способ - составить массив возможных совпадений, а затем использовать contains
для поиска определенной строки в этом массиве.
let array = ["a", "b", "c"]
if contains(array, segue.identifier) {
// String found in array
}
Попробуйте следовать коду .......
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
var string = "ANY OF MULTIPLE STRINGS 'x1'-'x9'"
if string.rangeOfString(segue.identifier) != nil
{
let JVC = segue.destinationViewController as VC3
JVC.betSource = segue.identifier!
}
else
{
let KVC = segue.destinationViewController as VC2
KVC.source = segue.identifier!
}
}
var str = "x1 x2 x3 x4 x5 x6 x7 x8 x9"
if(str.rangeOfString(segue.identifier))
let JVC = segue.destinationViewController as VC3
JVC.betSource = segue.identifier!
} else {
let KVC = segue.destinationViewController as VC2
KVC.source = segue.identifier!
}
Вы должны использовать switch
в этом случае:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segue.identifier! {
case "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9":
let JVC = segue.destinationViewController as VC3
JVC.betSource = segue.identifier!
default:
let KVC = segue.destinationViewController as VC2
KVC.source = segue.identifier!
}
}
Похожие вопросы
Связанные вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.