【问题标题】:How to convert NSIndexpath into NSInteger or simply int?如何将 NSIndexpath 转换为 NSInteger 或简单的 int?
【发布时间】:2016-05-19 15:13:08
【问题描述】:

我需要将 nsindexpath var 转换为 NsInteger 或简单的 int。 例如:

 int rowIndex = [mGoogleBaseTable selectedRow];
 //mGoogleBaseTable is a NSTable type in Macdevelopement..

&&

int rowIndex = [mGoogleBaseTable indexPathForSelectedRow];
//mGoogleBaseTable is a UITableView type in Iphone (iOS)Development.

selectedRow 简单地返回 NSInteger 但 indexPathForSelectedRow 返回一个 NSIndexPath..

请帮助我如何实现这一目标。

【问题讨论】:

    标签: iphone cocoa-touch


    【解决方案1】:

    如果

    NSIndexPath *p = ... // some indexpath
    

    然后

    NSInteger row = p.row;
    NSInteger section = p.section;
    

    就是这样!

    【讨论】:

    • 谢谢.. 完整的工作是 p.row 但我不明白 p.section。
    • @AnilMetatagg 该部分仅在您有多个部分时才相关。
    【解决方案2】:

    也许,这对你有帮助

    NSInteger variable = indexPath.row;
    

    【讨论】:

    • 也可以像 yourTextField.tag = indexPath.row 一样用于在您的自定义单元格中跟踪和创建条件,例如,如果您想更新可变数组中的数据..
    【解决方案3】:

    Swift 中:

        let section: Int = indexPath.section
        let row: Int = indexPath.row
    

    【讨论】:

      【解决方案4】:

      我更喜欢这样做

      NSNumber *selRow = [[NSNumber alloc] initWithInteger:indexPath.row];
      

      【讨论】:

      • 在这种情况下最好使用NSNumber *selrow = @(indexPath.row); 以提高可读性
      【解决方案5】:

      简单地转换成 int by,

      NSIndexPath *path = ... // 一些索引路径

      int row = (int)path.row;

      【讨论】:

        【解决方案6】:

        迅速:

        1. 将您的集合视图与您的 var 相关联:

          @IBOutlet 弱变量 collectionView: UICollectionView!

        2. prepareForSegue func中,可以调用:

          var indexPath = collectionView.indexPathsForSelectedItems()

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-21
          • 2010-12-17
          • 1970-01-01
          • 1970-01-01
          • 2015-03-17
          • 1970-01-01
          • 2010-09-27
          • 1970-01-01
          相关资源
          最近更新 更多