从数组中删除对象不会删除任何内容

时间:2013-12-12 18:09:10

标签: ios objective-c nsarray

我有:

self.path = [self pathByCopyingFile:@"Notes List.plist"];
self.data = [[NSMutableDictionary alloc] initWithContentsOfFile:self.path];
self.notes = [self.data objectForKey:@"Notes"];

然后在一个按钮中(肯定会调用Button方法):

NSString *title = self.navigationItem.title;
         //Filter notes array by title
         NSPredicate *pred = [NSPredicate predicateWithFormat:@"Title =[cd] %@", title];
         NSArray * titleArray = [self.notes filteredArrayUsingPredicate:pred];

         //delete all the notes with the old title name
         [self.notes removeObject:titleArray];
         NSLog(@"%@", self.notes);

此时,self.notes仍然包含这些项目,我不知道为什么它们被删除

1 个答案:

答案 0 :(得分:3)

您正尝试从阵列中删除数组。那不是你想要的。我相信您的目标是从titleArray数组中移除notes中的所有对象。

这甚至不认为self.notes可能是NSArray而不是NSMutableArray

如果self.notes是可变的,您可以使用removeObjectsInArray:

[self.notes removeObjectsInArray:titleArray];