我有一个包含两个部分的表。我可以在索引处选择行 - 但我不能区分这些部分。
该表是一个拉出菜单 - 仅在代码中创建。
选择的委托方法是
func sideBarControlDidSelectRow(indexPath: NSIndexPath) {
delegate?.sideBarDidSelectButtonAtIndex(indexPath.row)
sectionis = indexPath.section
NSLog("Index Path Section %d", indexPath.section)
}
这给了我控制台中的部分。
但在视图控制器上我只有
func sideBarDidSelectButtonAtIndex(index: Int){
switch(index) {
etc.
}
}
我需要做的是像
func sideBarDidSelectButtonAtIndex(index: Int){
if section == 0 {
switch(index){
etc.
}
}
}
但如果我尝试那么二进制运算符不能应用于类型
类型的操作数这必须是显而易见的事情,因为表格一直有部分 - 但答案是让我不知所措。
答案 0 :(得分:1)
只需在委托协议中更新方法sideBarDidSelectButtonAtIndex
的声明以接受NSIndexPath值,更改:
func sideBarDidSelectButtonAtIndex(index: Int)
到
func sideBarDidSelectButtonAtIndex(indexPath: NSIndexPath)
然后你可以删除这个方法
func sideBarControlDidSelectRow(indexPath: NSIndexPath) {
delegate?.sideBarDidSelectButtonAtIndex(indexPath.row)
}
并使用
替换其调用delegate?.sideBarDidSelectButtonAtIndex(indexPath)
然后你将收到完整的indexPath并可以做你想做的事情