ドキュメントには、MacOS1.08で利用可能であると記載されています。
それで、話は何ですか?iOS5はどうですか?
何かが足りない場合を除いて、self[5]は実際には[selfobjectAtIndexedSubscript:5]に変わるため、これは非常に重要なセレクターです。
NSOrderedSetでは機能しませんが、NSArrayでは機能します。
私は何が欠けていますか?
ドキュメントには、MacOS1.08で利用可能であると記載されています。
それで、話は何ですか?iOS5はどうですか?
何かが足りない場合を除いて、self[5]は実際には[selfobjectAtIndexedSubscript:5]に変わるため、これは非常に重要なセレクターです。
NSOrderedSetでは機能しませんが、NSArrayでは機能します。
私は何が欠けていますか?
objectAtIndexedSubscript:
iOS 6より前では利用できませんが、NSArray
添えNSDictionary
字は利用できます。つまり、次のような構文を使用できます。
myArray[2] = @"thingie";
myDictionary[@"roger"] = @"barry";
そして、iOS4にデプロイされます。
ただし、NSOrderedSet
添え字はiOS5以前では機能しません。objectAtIndexedSubscript:
そのためには、呼び出しをにリダイレクトするカテゴリを提供する必要がありますobjectAtIndex:
。
補遺:AppleのドキュメントNSMutableOrderedSet
も正しくありません。これは、実際には置換が行われるのに、インデックスの添え字が挿入を行うことを示しています(予想どおり)。
いいえ、残念ながらiOS6以降のみです。
Appleには、OSXとiOSAPIについて別々のドキュメントがあります。あなたは正しいものをチェックする必要があります:objectAtIndexedSubscript:
。
可用性
iOS6.0以降で利用できます。
iOS 5でコードを実行する必要がある場合は、置き換える必要があります
myOrderedSetOfHilariousAcronyms[2] = @"ROFL";
と
[myOrderedSetOfHilariousAcronyms setObject:@"ROFL" atIndex:2];
NSOrderedSet.hファイルを見ると、次のことがわかりました。
- (id)objectAtIndexedSubscript:(NSUInteger)idx NS_AVAILABLE(10_8, 6_0);
そのため、IOS5では機能しません。