我已经构造了NSMutableArray,这是一个示例
(
{
帐户= A;
类型=电力;
},
{
帐户= B;
类型=水;
},
{
帐户= C;
类型=移动;
})
当我尝试使用删除帐户B时
[数据removeObject:@“B”];
没发生什么事
[[NSUserDefaults standardUserDefaults] synchronize];
NSArray *archivedArray = [NSKeyedUnarchiver unarchiveObjectWithFile:[self dataFilePath]];
if (archivedArray == nil) {
data = [[NSMutableArray alloc] init];
} else {
data = [[NSMutableArray alloc] initWithArray:archivedArray];
}
最佳答案
如果您实际上使用的是数组而不是字典,则需要先搜索该项目,然后才能将其删除:
NSUInteger index = [data indexOfObjectPassingTest:^BOOL (id obj, NSUInteger idx, BOOL *stop) {
return [[(NSDictionary *)obj objectForKey:@"Account"] isEqualToString:@"B"];
}];
if (index != NSNotFound) {
[data removeObjectAtIndex:index];
}
关于objective-c - 如何通过键删除NSMutableArray对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212320/