示例: 我将一些 NSString 对象添加到 NSMutableArray: @"Foo", @"Bar", @“FooBar" 。现在在其他地方我再次访问该数组,我想删除 @"Foo" 。所以我创建了一个新的 NSString @"Foo" ,并将它传递给 -removeObject: 。该文档没有说明 -removeObject 工作的标准。我认为它只查找内存地址,所以在这种情况下它什么都不做。那是对的吗?

最佳答案

根据 removeObject 的文档:“匹配是根据对象对 isEqual: 消息的响应确定的”,并且将字符串与哈希进行比较(“如果两个对象相等,则它们必须具有相同的哈希值”)所以,是,应该是不正确的。

关于iphone - 将 NSMutableArray -removeObject : also remove a NSString if it has a different memory adress?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1310848/

10-09 02:42