我有一个类,其中包含用于进行网络调用的字典。基本上,如果网络调用需要任何值,键值对用于创建将发布到 URL 的数据。此对象类是使用 JSON 设置的。
我有一个方法,它采用这个类对象并使用它来设置网络调用。我的问题是,如果不需要参数,则将字典设置为 null 这很好,这就是我想要的,但是由于某种原因,当我执行 if 语句来检查字典是否为 null 时,它正在命中 else声明它不为空。方法看起来像这样
-(void)webCall :(WebServiceCall *)webCall_p
{
//Creates a dictionary from the one stored in the WebResponse Class
NSMutableDictionary *dict = [[webCall_p getWebServiceResponse] getVariablesByRegexMap];
NSLog(@"%@", dict);
}
当我打印出来时,我得到了这个
<null>
然而,如果我输入一个 if 语句来检查它是否为 null 像这样
if(dict == NULL)
{
NSLog(@"NULL");
}
else
{
NSLog(@"Not NULL");
}
它说不为空。如果我尝试使用 dict count 命令,就像这样
NSLog(@"%i", [dict count]);
应用程序崩溃并出现此错误
-[NSNull 计数]:无法识别的选择器发送到实例 0xaf8678 2012-11-23 11:48:44.005 测试 [3403:14003] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSNull 计数]:无法识别的选择器发送到实例 0xaf8678'
我这辈子都想不通。任何帮助将非常感激