我已经在swift中声明了一个下标,想知道是否可以在objective-c中使用swift下标?因为我让我的类继承自NSObject并使下标公开。但我仍然无法访问它。 我在Apple的#34;使用Swift with Cocoa和Objective-C"这个问题的基础上提出了这个问题。 :
如何使下标与Objective-C兼容或是Swift下标是一个特定的快速功能?
答案 0 :(得分:4)
绝对有可能,请参阅:
class MyArray : NSObject {
var data: [Int] = [0, 1, 2]
subscript (index: Int) -> NSNumber {
return data[index]
}
}
的OBJ-C:
MyArray *array = [[MyArray alloc] init];
NSNumber *value = array[0];
但是有一些限制。您不能返回原始值(Int
),您必须返回一个Obj-C对象,例如NSNumber
。