san*_*edi 2 objective-c nsmutablearray nsobject
我NSMutableArray包含一些字符串作为元素.其中一个元素在数组中的不同索引处重复多次.例如[@"", @"1,2,3",@"",@"5,3,2,1",@""].我想@""从可变数组中删除所有带有值的元素.我尝试了以下方法,但无法得到解决方案.
使用For循环:
for(id obj in myMutableArray)
{
if([obj isEqualToString:@""])
{
[myMytableArray removeObject:obj];
}
}
Run Code Online (Sandbox Code Playgroud)使用虚拟可变数组调用 nextMutableArray
for(id obj in myMutableArray)
{
if([obj isEqualToString:@""])
{
continue;
}
else [nextMutableArray addObject:obj];
}
Run Code Online (Sandbox Code Playgroud)在这两种方式中,@""其他索引的elements()被删除但不在索引0(第一个对象).可能的原因是什么?有没有办法@""从可变数组中删除包含字符串的所有元素?
一个选项是使用谓词过滤您的数组:
NSArray *someArray = @[@"", @"1,2,3", @"", @"5,3,2,1", @""];
NSLog(@"%@", someArray);
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF != ''"];
NSArray *filteredArray = [someArray filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filteredArray);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |