UITableView,我如何知道cellForRowAtIndexPath期间的哪个部分?

时间:2009-11-04 20:27:14

标签: iphone objective-c nsmutablearray

我有一个显示城市列表的UITableView。 我想用国家把它们分开。我似乎无法弄清楚如何从我的阵列中选择正确的项目。 如果第1节(亚利桑那州)有2个城市而第2节(加利福尼亚州)有2个城市,则在cellForRowAtIndexPath第2节中,城市1的索引为0,即使它是我的数组中的第3个项目。 我想过把我的城市阵列变成一个状态阵列,每个项目都有一个城市阵列,但我仍然不知道我在哪个部分,因此不知道状态数组下的哪个城市数组我会需要访问。

3 个答案:

答案 0 :(得分:121)

该方法称为

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

indexpath参数包含行和节属性。

indexPath.section  
indexPath.row

以下是NSIndexPath类的文档链接。

答案 1 :(得分:9)

您可以使用indexPath.sectionindexPath.row

答案 2 :(得分:0)

快速3、4和4.2

  

使用开关

switch indexPath.section {
        case 0:
            print("Write your code for section number one.")
        case 1:
            print("Write you code for section number two")
        default:
            return
        }
  

使用其他方式

if indexPath.section == 0 {
            print("Write your code for section number one.")
        } else if indexPath.section == 1 {
            print("Write your code for section number two.")
        }