在objective-C中使用Swift下标

时间:2016-07-18 19:12:05

标签: objective-c swift swift2

我已经在swift中声明了一个下标,想知道是否可以在objective-c中使用swift下标?因为我让我的类继承自NSObject并使下标公开。但我仍然无法访问它。 我在Apple的#34;使用Swift with Cocoa和Objective-C"这个问题的基础上提出了这个问题。 :

enter image description here

如何使下标与Objective-C兼容或是Swift下标是一个特定的快速功能?

1 个答案:

答案 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