Ответ 1
Вы получаете ошибку, потому что item.tag
объявляется как Int
(NSInteger
в API первоначально), но вы пытаетесь сравнить его с перечислением TabItems
. Вы можете использовать значения Int
в инструкции switch
:
for item in self.tabBar.items {
switch item.tag {
case 0:
println("first tab")
case 1:
println("second tab")
default:
println("not recognized")
}
}
Или вы можете преобразовать тег в свой enum
, как в примере ниже. (Обратите внимание, что вам нужно обновить декларацию перечисления для поддержки .fromRaw()
.)
enum TabItems : Int {
case FirstTab = 0
case SecondTab
case ThirdTab
}
for item in self.tabBar.items {
if let tabItem = TabItems.fromRaw(item.tag) {
switch tabItem {
case .FirstTab:
println("first tab")
case .SecondTab:
println("second tab")
default:
println("not recognized")
}
}
}