NSMutableDictionary和[NSNull null]值

Ada*_*tle 1 cocoa-touch objective-c nsdictionary nsnull

好.我搜索并搜索无济于事,我一直在打扰我.

我正在尝试确定UITextField是否具有空值,如果是,则将空值发送到服务器,而不仅仅是空字符串.

以下代码

NSDictionary *locationDict = @{
    @"country":countryVal,
    @"state":stateVal,
    @"city":[cityField.text isEqualToString:@""] ? [NSNull null] : cityField.text
};
NSLog(@"%@", locationDict);
Run Code Online (Sandbox Code Playgroud)

记录这个

{
    city = "<null>";
    country = US;
    state = TN;
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么要[NSNull null]登录"<null>".如果用户没有输入值,应用程序会继续将该字符串作为城市发送,显然不是我想要的.我没有在这里显示网络呼叫,但我正在使用AFNetworking来执行此操作.不过,在我调用AFN之前,我可以确认字典包含该字符串而不是null.所以我知道问题不在于AFN.

任何帮助是极大的赞赏.

SSt*_*eve 7

<null>是结果[[NSNull null] description].你可以自己看看这个NSLog(@"%@", [NSNull null]);.如果您想要除<null>用户未进入城市之外的其他内容,请使用您想要的值而不是[NSNull null]您的行@"city":[cityField.text isEqualToString:@""] ? [NSNull null] : cityField.text.