ios - 如何从 NSMutableArray 中删除 nil 对象?

标签 ios objective-c

我的 NSMutableArray 包含以下数据

<DoctorInfo: 0x15de99e0> (entity: DoctorInfo; id: 0x15defbe0 <x-coredata://39D9B/DoctorInfo/p8> ; data: {
    doctorName = nil;
    emailAdd = nil;
    hospitalName = nil;
    mobileNumber = nil;
    phoneNumber = nil;
}),
<DoctorInfo: 0x15de9b00> (entity: DoctorInfo; id: 0x15da5dc0 <x-coredata://39D9BED3/DoctorInfo/p10> ; data: {
    doctorName = nil;
    emailAdd = nil;
    hospitalName = nil;
    mobileNumber = nil;
    phoneNumber = nil;
})
)

如何使用 nil 删除那些对象?我通过将 NSMutableArray 更改为 NSArray 尝试了以下代码,然后对其进行过滤,但它仍然无法正常工作:

 NSString *predString = [NSString stringWithFormat:@"(doctorName BEGINSWITH[cd] '%@')", nil];

    NSPredicate *pred = [NSPredicate predicateWithFormat:predString];

     self.filteredDocInfoArray = [self.unfilteredDocInfoArray filteredArrayUsingPredicate:pred];

最佳答案

像这样在谓词字符串中测试 nil:

NSPredicate *pred = [NSPredicate predicateWithFormat: @"doctorName = nil"];

参见 the documentation举些例子。

关于ios - 如何从 NSMutableArray 中删除 nil 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262980/

相关文章:

ios - 如何创建 overlaySKScene SWIFT Xcode 来显示 HUD 或控件?

ios - 为什么我不能使用 `isCalculating` 属性来等待计算请求完成

Objective-C 或 Cocoa First

objective-c - 从 NSuserDefaults 取消归档数据的正确方法是什么?

ios - 如何在 NSURL get 请求中传递查询项?

iphone - slider /文本框交换数据

ios - 使用 API 时后台/主线程出错

iOS GameKit 无法通过蓝牙连接

iphone - 在 iPhone 屏幕中随机填充按钮

ios - 当应用程序进入后台时停止/启动 NSTimer