2016-07-18 3 views
2

私は素早く下付き文字を宣言していますが、目的関数-cに素早い下付き文字を使用できるかどうかを知りたがっていますか?私のクラスをNSObjectから継承させ、添字を公開しているからです。しかし、私はまだそれにアクセスすることはできません。私は、「ココアとObjective-Cでスウィフトの使用」をAppleのこの行に基づいて、この質問をしています :目的-Cのスウィフトサブスクリプトを使用

enter image description here

のObjective-Cの添字は互換性を持たせるためにどのよう

またはスウィフト添字が特定されています迅速な機能?それは絶対に可能である

答えて

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

+1

これはわかりませんでしたが、これは私が驚いています。 – Sulthan

+0

スーパー。私は限界について知りませんでした。私は私の下付き文字からAnyを返していました。これは動作します –

関連する問題