3
我有一個名爲playerSkillsByLevelSnapshots的獨特nsmutablearray的nsarray。在下面的代碼開始時,數組包含6個對象。從nsarray中移除一個對象將全部移除
NSArray *anArray2 = [playerSkillsByLevelSnapshots objectAtIndex:index];
playerSkills = [NSMutableArray arrayWithArray:anArray2];
[playerSkillsByLevelSnapshots removeObject:anArray2];
當我通過上面的最後一行時,數組包含0個對象。任何人都可以向我解釋爲什麼這可能是。請注意,數組中沒有重複的條目。
這是我首先想到的,但playerSkillsByLevelSnapshots \t的NSMutableArray * \t 0x07e352d0包含:[0] \t ID \t 0x161040f0,[1] \t ID \t 0x07ea5440,[2] \t ID \t 0x07ea75c0,[3] \t ID \t 0x161e8440, [4] \t id \t 0x1615f000,[5] \t id \t 0x07ee50a0 –
事實上,我確實會拷貝每個進入容器數組的數組。 –
@NaseivaKhan難道所有的數組都是相等的嗎? (我不知道它是否會有很大的不同,因爲我從來沒有試過比較'NSArray'是否相等)。你爲什麼更喜歡'removeObject'到'removeObjectAtIndex'? – dasblinkenlight