RLMArrayを宣言するとき、2番目の括弧の意味は何ですか?レルムは私がこれが使用されているのを見た唯一の場所です。RLMArrayプロパティ宣言の構文
@property NSArray<NSDictionary*> *dictionaries; // I understand this (and it's wonderful!)
@property NSDictionary<NSString*, NSArray<NSString*>*> *dictionaryOfArraysOfStrings; // No problem with this either
@property RLMArray<Object*><Object> *objects; // What is <Object> for?
bdash、ありがとうございます。クラスと同じ名前で宣言されているプロトコルについても疑問に思っていました。私はrealmソースの 'conformsToProtocol'を検索しましたが、このプロトコルがどのように使われているかは分かりませんでした。理論的には、私がした場合: '@property(非原子)NSArray *> *配列; @プロパティ(nonatomic)NSArray * array2; '再び何が配列を取得します。 array2とは何が違うのですか? 1-2行の例を教えてください。 –
arsenius
説明した方法でのプロトコルの使用は、 'RLMObject'のサブクラス上のタイプ' RLMArray'のプロパティに特有です。あなたが言及する2つのケースは、異なるもののプロトコル適合性を必要とします。 '配列'の場合、配列に含まれる 'UIViewController'はプロトコルに準拠しなければなりません。 'array2'の場合、配列自体はプロトコルに従わなければなりません。後者は、あなたが後にしているものである可能性は低いです。 – bdash
bdash、私はついにそれを手に入れました!角かっこが横になって私を捨てましたが、これは文字通り文字通り一般的なものであり、同時にプロトコルであることは明らかです。頭の上で私を打ち続けると私はそこに着くでしょう...ありがとう! – arsenius