不同部分指数的selectrow

时间:2015-06-14 21:45:06

标签: ios swift didselectrowatindexpath

我有一个包含两个部分的表。我可以在索引处选择行 - 但我不能区分这些部分。

该表是一个拉出菜单 - 仅在代码中创建。

选择的委托方法是

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.
        }
    }
}

但如果我尝试那么二进制运算符不能应用于类型

类型的操作数

这必须是显而易见的事情,因为表格一直有部分 - 但答案是让我不知所措。

1 个答案:

答案 0 :(得分:1)

只需在委托协议中更新方法sideBarDidSelectButtonAtIndex的声明以接受NSIndexPath值,更改:

func sideBarDidSelectButtonAtIndex(index: Int)

func sideBarDidSelectButtonAtIndex(indexPath: NSIndexPath)

然后你可以删除这个方法

func sideBarControlDidSelectRow(indexPath: NSIndexPath) {
    delegate?.sideBarDidSelectButtonAtIndex(indexPath.row)
}

并使用

替换其调用
delegate?.sideBarDidSelectButtonAtIndex(indexPath)

然后你将收到完整的indexPath并可以做你想做的事情