NSNull返回<null>而不是返回null

用户名

我正在使用以下代码检查NSNumber是否具有nil值。因此,我将NSNumber转换为字符串,然后Im检查其长度是否为0。如果长度为零,则Im返回NSNull,否则Im返回数字本身。

   - (id)NSNullToNilForKey:(NSNumber *)number
    {
        if ([[number stringValue] length] == 0){
            return [NSNull null];
        }
        return number;
    }

我按如下方式调用它,

NSString *bodyString = [NSString stringWithFormat:@"[ \"%@\",{\"session_token\": \"%@\",\"request\": [\"GetAssigneeWiseCompliancesChart\",{\"country_id\": %@,\"business_group_id\": %@,\"legal_entity_id\": %@,\"division_id\": %@,\"unit_id\": %@,\"user_id\": %@}]}]",clientSessionId,clientSessionId,[self NSNullToNilForKey:countryId],[self NSNullToNilForKey:businessGroupId],[self NSNullToNilForKey:legalEntityId],[self NSNullToNilForKey:divId],[self NSNullToNilForKey:unitId], [self NSNullToNilForKey:userId]];

但是问题是,尽管if循环正在被调用。从NSNullToNilForKey的,如果循环返回的值是<null>不是null我该如何解决呢?

温恩

您正在从一种格式创建一个字符串,所有参数都通过对其进行描述来添加,您所看到的是NSNull实例的描述

您的方法应专门返回一个字符串,并且应明确选择要返回的字符串。

- (id)NSNullToNilForKey:(NSNumber *)number
{
    if ([[number stringValue] length] == 0){
        return @"NSNull";
    }
    return number;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章