我已经在 swift 中声明了一个下标,想知道是否可以在 Objective-c 中使用 swift 下标?因为我已经让我的类继承自 NSObject 并将下标公开。但我仍然无法访问它。 我根据 Apple 的“Using Swift with Cocoa and Objective-C”中的这一行来问这个问题:
如何使下标兼容 Objective-C 或者 Swift 下标是一个特定的 swift 功能?
最佳答案
这是绝对可能的,请参阅:
class MyArray : NSObject {
var data: [Int] = [0, 1, 2]
subscript (index: Int) -> NSNumber {
return data[index]
}
}
对象-C:
MyArray *array = [[MyArray alloc] init];
NSNumber *value = array[0];
但也有一些限制。您不能返回原始值 (Int
),您必须返回 Obj-C 对象,例如NSNumber
.
关于objective-c - 在 Objective-C 中使用 Swift 下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38444300/