3

ドキュメントには、MacOS1.08で利用可能であると記載されています。

それで、話は何ですか?iOS5はどうですか?

何かが足りない場合を除いて、self[5]は実際には[selfobjectAtIndexedSubscript:5]に変わるため、これは非常に重要なセレクターです。

NSOrderedSetでは機能しませんが、NSArrayでは機能します。

私は何が欠けていますか?

4

4 に答える 4

7

objectAtIndexedSubscript:iOS 6より前では利用できませんが、NSArray添えNSDictionary利用できます。つまり、次のような構文を使用できます。

myArray[2] = @"thingie";
myDictionary[@"roger"] = @"barry";

そして、iOS4にデプロイされます。

ただし、NSOrderedSet添え字はiOS5以前では機能しません。objectAtIndexedSubscript:そのためには、呼び出しをにリダイレクトするカテゴリを提供する必要がありますobjectAtIndex:

補遺:AppleのドキュメントNSMutableOrderedSetも正しくありません。これは、実際には置換が行われるのに、インデックスの添え字が挿入を行うことを示しています(予想どおり)。

于 2012-11-16T00:41:35.137 に答える
3

いいえ、残念ながらiOS6以降のみです。

Appleには、OSXとiOSAPIについて別々のドキュメントがあります。あなたは正しいものをチェックする必要があります:objectAtIndexedSubscript:

可用性
iOS6.0以降で利用できます。

于 2012-11-15T03:34:03.867 に答える
1

iOS 5でコードを実行する必要がある場合は、置き換える必要があります

myOrderedSetOfHilariousAcronyms[2] = @"ROFL";

[myOrderedSetOfHilariousAcronyms setObject:@"ROFL" atIndex:2];
于 2013-01-17T19:32:30.670 に答える
0

NSOrderedSet.hファイルを見ると、次のことがわかりました。

- (id)objectAtIndexedSubscript:(NSUInteger)idx NS_AVAILABLE(10_8, 6_0);

そのため、IOS5では機能しません。

于 2012-11-15T03:37:17.117 に答える