如何在Swift中将NSNull转换为nil?
我想从服务器中获取JSON数据并在启动时对其进行操作。在Objective-
C中,我使用此#define
代码转换NSNull
为nil
,因为获取的数据有时可能包含null。
#define NULL_TO_NIL(obj) ({ __typeof__ (obj) __obj = (obj); __obj == [NSNull null] ? nil : obj; })
但是,在Swift中,可以将转换NSNull
为nil
吗?我想使用以下操作(代码是Objective-C的):
people.age = NULL_TO_NIL(peopleDict["age"]);
在上面的代码中,当获取的数据的age
键为时NULL
,则people
对象的.age
属性设置为nil
。
我使用Xcode 6 Beta 6。
回答:
这可能是您要寻找的:
func nullToNil(value : Any?) -> Any? { if value is NSNull {
return nil
} else {
return value
}
}
people.age = nullToNil(peopleDict["age"])
以上是 如何在Swift中将NSNull转换为nil? 的全部内容, 来源链接: utcz.com/qa/402910.html