【问题标题】:How to get int from IndexPath如何从 IndexPath 获取 int
【发布时间】:2013-04-30 03:20:09
【问题描述】:

我想计算具有行和节的 IndexPath 的 int 值,然后使用 ObjectAtIndex 从 NSArray 中选择对象。

我只有一个来自 UITable 的字符串值,所以我试图将选择的 indexpath 值与我的实际数组的 ObjectAtIndex 路径相关联。

到目前为止,这是我的代码,但我收到了一个错误,因为我试图使用 indexPath 代替 int。

filterDataArray = [dataArrayOfDictionaries objectAtIndex:indexPath];

所以我的问题是如何将 indexPath 更改为 int。任何帮助将不胜感激。

【问题讨论】:

  • 参考文档向您展示了NSIndexPathUITableView 类别。快速浏览这些文档会发现 rowsection 属性。
  • 顺便说一句 - 你不想要int。这不是 index 参数到 objectAtIndex: 的类型。
  • 我想使用包含部分和行的 indexpath 计算 NSArray 的 objectAtIndex。
  • 那你需要告诉我们你的数据是如何布局的。您是否有一个包含每个部分的对象的数组。每一个都包含该部分的行数据?
  • 不,不幸的是没有。我将不得不考虑我还能如何做到这一点。

标签: ios nsarray nsdictionary


【解决方案1】:

所以在你的情况下,你可以使用行和部分值的组合尝试这样,

int totalRows = indexPath.row; //current section row value


for (int n = 0; n < indexPath.section; n++) {//here current section value.

    totalRows += [tableView numberOfRowsInSection:n];// here add rows in every section
}

【讨论】:

    【解决方案2】:

    请参阅this 以更好地了解 NSIndexPath。

    如果您使用 NSArray 和只有一个部分的表格视图(如果您不指定 numberOfSections: 方法,则默认情况下是一个)。试试这个。

    filterDataArray = [dataArrayOfDictionaries objectAtIndex:indexPath.row];
    

    【讨论】:

    • 这不起作用,因为我有一个带有部分的表格视图......所以它没有将正确选择的索引路径与数组的对象相关联。
    • 嗨,伙计,你支持 UITableView 的部分,你必须有一个数组和一个字典,实际上这是最好的方法。
    猜你喜欢
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 2022-01-04
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    相关资源
    最近更新 更多