我有一个NSArray,我正在我的iOS应用程序中使用,它包含三种类型的数据:
NSDate,NSString和NSNumber
我想要做的是在for循环中迭代这个NSArray以检查对象是否为null,但是,我不确定如何执行此操作,因为该数组包含不同类型的对象而不是单个类型。这就是我在想的事情:
for (id widget in myArray)
{
if ([widget isKindOfClass:[NSDate class])
{
if (widget == nil) {
widget = @"";
}
}
else if ([widget isKindOfClass:[NSString class])
{
if (widget == nil) {
widget = @"";
}
}
else if ([widget isKindOfClass:[NSNumber class])
{
if (widget == nil) {
widget = @"";
}
}
}
但是,我收到编译错误:“默认情况下,ARC不能修改快速枚举变量;声明变量__strong允许这样做。”我不确定提前在迭代之前对象的类型是什么,所以我该如何解决这个问题呢?
感谢所有回复的人。
答案 0 :(得分:1)
NSArray无法保存nil值。只需检查NSNull
for (id widget in myArray)
{
if ([widget isKindOfClass:[NSNull class]])
//do what you need
}