将NSNull对象分配给NSString

fah*_*ahu 0 nsstring ios nsnull

我正在编写一个iOS应用程序,我需要通过Azure上的移动服务从SQL数据库中获取数据.

下载数据后,我得到了一个NSDictionary包含SQL-Table的所有属性.如果属性为空,则值为NSNull.

有没有一种方法可以NSNull在NSString没有IF语句的情况下传递给我(我不希望有20个if语句......)?

Nat*_*nSr 6

我写了一个类别只是为了解决这个问题.我将它与Core Data一起使用,但它也可以帮助你.

@interface NSDictionary (Extensions)

- (id)NSNullToNilForKey:(NSString *)key;

@end

@implementation NSDictionary (Extensions)

- (id)NSNullToNilForKey:(NSString *)key
{
    id value = [self valueForKey:key];

    return value != [NSNull null] ? value : nil;
}

@end
Run Code Online (Sandbox Code Playgroud)

样品用途:

NSString *value = [dictionary NSNullToNilForKey:@"key"];
Run Code Online (Sandbox Code Playgroud)