Xcode 6.3.2 Swift 1.2 NSIndexpath 没有成员 'row'

Xcode 6.3.2 Swift 1.2 NSIndexpath does not have member 'row'

我有一个 class 用于封装数据处理 - 类似于 NSFetchedResultsController,但根据应用程序的需要定制。我正在将此 class 转换为 Swift(双重尝试是为了说明,而不是实际实施)。

@objc class DataHandler: NSObject {

    final func deleteEntryAt(indexPath: NSIndexPath) {
        let entry = entries[indexPath.row]

        let iRow = indexPath.row
        if let row = indexPath.row {

        }
    }
}

以及 Objective-C 版本,其功能符合预期:

- (void)deleteEntryAtIndexPath:(NSIndexPath*)indexPath {
    Entry *entry = self.entries[indexPath.row];

}

查看 NSIndexPath header 和文档,Swift 和 Objective-C 显示没有 属性 或名为 'row' 的函数;所以,我很茫然。

注意:我已经尝试了可选和 non-optional 变体。

示例代码中传递的 NSIndexPath 是 non-optional,这就是为什么我认为此问题与以下问题不同:

该方法此时也没有任何外部知识,因此问题与此类似:

至少我不这么认为。如果这是重复的,这就是生活,我深表歉意。

更新:

清理和构建 - 没有变化。

您需要导入 UIKit.

sectionrowitem 是 UIKit 添加的 NSIndexPath 的属性。

https://developer.apple.com/library/prerelease/ios//documentation/UIKit/Reference/NSIndexPath_UIKitAdditions/index.html