2016-12-16 9 views
0

ObjC/Swiftの混合プロジェクトでRealm Objective-Cを使用しています。スイフトでRLMArrayを反復する

私は、MediaがRMLObjectでもあるRLMArrayを保持する変数を持っています。

私はしかし、スウィフトコンパイラはエラーでこの構文を拒否するように

let medias: RLMArray<Media> 
for media in medias { 
    //Use media as a Media object. 
} 

などの古典的な反復子で、この配列を反復処理したいと思います:

Type 'RLMArray<Media>' does not not conform to protocol 'Sequence' 

RLMArrayで繰り返し処理に助けてください迅速。

+0

私は 'import RealmSwift'を使っています...あなたはなぜですか? –

+0

RealmSwiftは純粋な素早いプロジェクトのためのものです。 –

答えて

1

RLMSupport.swiftをプロジェクトにコピーします。これにはObjective-CとSwiftの相互運用性の改良が含まれています。その中にはRLMArraySequenceの適合があります。

+0

ありがとう!それは動作しますが、イテレータのオブジェクトは 'Media'の代わりに 'RLMIterator.Element'です。それからイテレータで手動でキャストする必要があります。直接 'Media'インスタンスを直接取得する方法はありますか? –

+0

残念ながら、あなたはキャストする必要があります –