如何将 NSMutableDictionary 设置为 null

How to set NSMutableDictionary to null

我正在使用 NSMutableDictionary 并使用以下方法检查它是否为空(特别是 null):

if( [webContent isKindOfClass:[NSNull class]])

如果是,我将调用 Web 服务并使用我处理的值填充它以显示给用户。

然后我想在下一个循环中将它重置为空,但我不确定如何重置它。我假设像这样重新初始化它:

NSMutableDictionary * webContent = [[NSMutableDictionary alloc]init];

比将其设置为空有更多的开销,但请提供您的建议。

谢谢

NSMutableDictionary * webContent = nil; 您可以将 null 设置为字典的值,而不是集合本身:

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:[NSNull null] forKey:@"myKey"];

来自 Apple 文档:

The NSNull class defines a singleton object used to represent null values in collection objects (which don’t allow nil values).

对你来说,情况并非如此。您应该使用 nil 而不是 NSNull。然后测试看起来就像

if (webContent) {
    // do something
}

并像

一样重置
webContent = nil;