在不同部分的索引处选择行
selectrow at index for different sections
我有一个包含两个部分的 table。我可以在索引处 select 行 - 但我无法区分各个部分。
table 是一个拉出菜单 - 仅在代码中创建。
selection 的委托方法是
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.
}
}
}
但如果我尝试这样做,则二元运算符不能应用于类型部分的操作数
这一定是显而易见的事情,因为 tables 一直都有部分 - 但答案让我望而却步。
只需更新委托协议中方法 sideBarDidSelectButtonAtIndex
的声明以接受 NSIndexPath 值,更改:
func sideBarDidSelectButtonAtIndex(index: Int)
至
func sideBarDidSelectButtonAtIndex(indexPath: NSIndexPath)
那么你可以去掉这个方法
func sideBarControlDidSelectRow(indexPath: NSIndexPath) {
delegate?.sideBarDidSelectButtonAtIndex(indexPath.row)
}
并将其调用替换为
delegate?.sideBarDidSelectButtonAtIndex(indexPath)
然后你将收到完整的 indexPath 并可以做你想做的事
我有一个包含两个部分的 table。我可以在索引处 select 行 - 但我无法区分各个部分。
table 是一个拉出菜单 - 仅在代码中创建。
selection 的委托方法是
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.
}
}
}
但如果我尝试这样做,则二元运算符不能应用于类型部分的操作数
这一定是显而易见的事情,因为 tables 一直都有部分 - 但答案让我望而却步。
只需更新委托协议中方法 sideBarDidSelectButtonAtIndex
的声明以接受 NSIndexPath 值,更改:
func sideBarDidSelectButtonAtIndex(index: Int)
至
func sideBarDidSelectButtonAtIndex(indexPath: NSIndexPath)
那么你可以去掉这个方法
func sideBarControlDidSelectRow(indexPath: NSIndexPath) {
delegate?.sideBarDidSelectButtonAtIndex(indexPath.row)
}
并将其调用替换为
delegate?.sideBarDidSelectButtonAtIndex(indexPath)
然后你将收到完整的 indexPath 并可以做你想做的事