0

我从有一个或多个对象的数据库字典中获取NSNull。将来,我不能以任何方式与他合作,因为应用程序崩溃了。我尝试了很多方法从字典中删除NSNull对象,方法removeObjectForKey但是任何尝试这样做我都会得到一个错误,这是一系列原因:

- [__ NSArrayM removeObjectForKey:]: unrecognized selector sent to an instance

而且我无法通过将数组removeObjectAtIndex作为此字典的方法删除这些对象。我只想到如何做到这一点,就是按类型删除这些对象。是否可以这样做,从匹配NSNull类型的字典中删除对象?或者也许这个问题有另一种解决方案?

感谢您的任何帮助!

4

3 回答 3

0

这个循环(改编自这篇文章)应该可以帮助您用您选择的字符串替换 NSnull 条目(请原谅拼写错误,我不在电脑前)。

for(NSString *key in yourDictionary) {
  id dictionaryEntry= [yourDictionary objectForKey:key];
  if(!dictionaryEntry) {
     [newDictionary setObject:@"string" forKey:key];
  } else {
     [newDictionary setObject:[yourDictionary objectForKey:key] forKey:key];
  }
}
于 2016-11-22T00:05:08.600 回答
0

你说:

而且我不能通过数组“removeObjectAtIndex”作为这个字典来删除这些对象。

不幸的是你的错误:

[__ NSArrayM removeObjectForKey:]:无法识别的选择器

不同意你的看法。你有一个数组。你不能使用的原因removeObjectAtIndex是因为它是不可变的。

于 2016-11-22T00:12:07.087 回答
0

您正在从数组中删除一个键

请注意,您不能从数组中删除键。比这个错误更明显。

也适用于removeObjectAtIndex

确保您的数组应该是可变的。然后你可以使用 removeObjectAtIndex。

希望对你有效。

于 2016-11-22T05:34:54.493 回答