我使用框架GlyuckDataGrid在Objective-C中实现数据网格。有一个名为IndexPath+DataGrid.swift
的扩展,对数据网格的实现至关重要,但它是用Swift编写的。
我正在使用CocoaPods并且我有以下导入但仍然无法访问它。
@import GlyuckDataGrid;
#import <GlyuckDataGrid/GlyuckDataGrid-Swift.h>
E:既然我已经得到了解决方案的答案,我想指出我忽略了IndexPath
和NSIndexPath
。不要我,混淆2 ...
答案 0 :(得分:2)
框架使用纯Swift类型(IndexPath
)而不是Objective-C等价物(NSIndexPath
)。在您的情况下,解决方案是扩展NSIndexPath
以及IndexPath
以向Objective-C公开功能:
public extension NSIndexPath { /** Returns an index-path object initialized with the indexes of a specific row and column in a data grid view. - parameter column: An index number identifying a column in a DataGridView object in a row identified by the row parameter. - parameter row: An index number identifying a row in a DataGridView object. - returns: An NSIndexPath object. */ convenience init(forColumn column: Int, row: Int) { self.init(item: column, section: row) } /// An index number identifying a column in a row of a data grid view. (read-only) var dataGridColumn: Int { return self.index(atPosition: 1) } /// An index number identifying a row in a data grid view. (read-only) var dataGridRow: Int { return self.index(atPosition: 0) } /// An index number for single-item indexPath var index: Int { return self.index(atPosition: 0) } }
来自c281729
。