如何比較兩個NSArrays,以便我可以刪除兩個陣列中都不包含的所有內容。比較兩個NSArrays
我想它是這樣的:
NSArray *array1 = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"5",@"6", nil];
NSMutableArray *myMutableArray = [NSMutableArray arrayWithArray:array1];
NSMutableArray *myMutableArrayTwo = [myMutableArray copy];
[myMutableArray removeObjectsInArray:array2];
[array1 release];
[array2 release];
NSArray *array3 = [myMutableArray copy];
[myMutableArrayTwo removeObjectsInArray:array3]; // Error here: "SIGABRT"
NSLog(@"array3:%@",myMutableArrayTwo);
但是,這並不因爲錯誤的工作。它是:「 - [__ NSArrayI removeObjectsInArray:]:無法識別的選擇發送到實例0x4e51550」
我做錯了什麼?還是有更簡單的方法來解決我的問題? 感謝您的幫助
感謝幫助。並感謝提醒。我總是忘記所有這些memoryManagement的東西......應該用Java寫xD – raemaerne
我知道這是一個老問題。但我認爲它令人困惑,即調用mutableArray上的副本創建一個immutableArray。複製應該返回相同類型的副本。 – eyeballz