2
在以前的iPhoneOS中,一個用於標識自身爲NSCFArray的對象現在似乎在運行iOS 4.0的設備下將自身標識爲__NSArrayI。爲什麼iOS 4.0中的數組顯示爲__NSArrayI(以及如何匹配它)?
不知道這是怎麼回事?我無法在任何文檔中找到它。
此外,它不匹配「[NSArray類]」。
它應該是一個簡單的數組。它的定義是這樣的:
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
thisPlayerName,@"name",
[NSNumber numberWithInt:[myTable.visiblePlayer.number intValue]],@"number",
playerCountArray,@"players",
[NSArray arrayWithObjects:@"easy",@"medium",@"hard",nil],@"opponent difficulty",
[NSNumber numberWithBool:[cardDecks getOptionBoolForKey:@"seeMoney"]],@"see money",
[cardDecks gameSpeedOptions],@"computer turn speed",
[NSArray arrayWithObjects:@"aqua",@"green",@"orange",@"purple",@"red",nil],@"player color",
nil];
然後送入另一個字典是這樣的:
myRecord = [[NSMutableDictionary alloc] initWithCapacity:5];
[myRecord addEntriesFromDictionary:newDictionary];
對一切都感到類,如我期望:NSCFString,NSCFNumber,NSCFBoolean,但不是陣列和I無法弄清楚如何匹配它。
[NSArray類]無論如何不會返回NSCFArray。它應該只是返回NSArray。你是否因爲在數組實例中調用類而得到__NSArrayI? – Jasarien 2010-06-26 00:02:36