我認爲新符號是這樣的:someArray [5]爲什麼以及如何在objective-c中工作?
的someArray [5]變爲
的someArray [5]實際上會變成[objectAtIndexedSubscript的someArray:5]
然而,在NSArray.h和NSOrderedSet.h我看到這個:
- (id)objectAtIndexedSubscript:(NSUInteger)idx NS_AVAILABLE(10_8, 6_0);
因此,objectAtIndexedSubscript只適用於IOS6。
我嘗試使這個簡單的代碼:
NSArray * someArray [email protected][@"hello",@"World",@"World"];
NSOrderedSet * someOS = [NSOrderedSet orderedSetWithArray:someArray];
PO(someArray);
PO(someOS);
PO(someArray[0]);
PO(someOS[0]); //Exception thrown here
在someOS代碼符號[0]
-[__NSOrderedSetI objectAtIndexedSubscript:]: unrecognized selector sent to instance 0x8b1fac0
在BOTH NSArray的和NSOrderedSet
,有一個文本NS_AVAILABLE(10_8,6_0);
然而,它並沒有在NSArray上打破NSOrderedSet。爲什麼?
獎勵:我把它NSOrderedSet工作太與類別如何做(需要檢查它尚未定義)
什麼是您的PO()?我沒有得到任何例外。 – sunkehappy