我正在使用以下代码来检查 NSNumber 是否具有 nil 值。因此,我将 NSNumber 转换为字符串,并检查其长度是否为 0。如果为零,则返回 NSNull,否则返回数字本身。
- (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 的 if 循环返回的值<null>
不是null
. 我该如何解决这个问题?