使用 NSMutableArray 遇到问题。遇到将空 mutableArrays 添加到 NSMutableArray 的要求。当我删除最后一个数组时,之前添加的所有数组也会从父数组中删除。代码在这里,
NSMutableArray *collections = [[NSMutableArray alloc] init];
NSMutableArray *bookSet1 = [[NSMutableArray alloc] init];
[collections addObject:bookSet1];
NSMutableArray *bookSet2 = [[NSMutableArray alloc] init];
[collections addObject:bookSet2];
NSLog(@"bookSet1==bookSet2 %d", bookSet1==bookSet2);
[collections removeObject:bookSet2];
NSLog(@"Collections count==%d", [collections count]);
结果
ArrayTest[2356:c07] bookSet1==bookSet2 0 ArrayTest[2356:c07] 集合计数==0
检查它们是否具有相同的引用,但 equals 方法返回 false,因此它们肯定没有指向相同的内存位置。不知道为什么会有这样的行为。任何可能的解决方案来克服这一点。