如何将NSData初始化为nil?
因为稍后我需要在使用UIImageJPEGRepresentation之前检查此数据是否为空。
类似的东西:
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
我尝试了data.length == 0但我不知道为什么,在我没有初始化的情况下,data.length不等于0。
答案 0 :(得分:17)
您可以做的一件事是确保您的NSData
属性是可选的。如果尚未初始化NSData对象,则可以执行if nil
检查。
看起来像这样:
var data: NSData? = nil
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
因为Swift中的选项默认设置为nil,所以你甚至不需要初始赋值部分!你可以这样做:
var data: NSData? //No need for "= nil" here.
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
答案 1 :(得分:8)
如果你想要一个NSData
,那么你可以像这样初始化它:
var data: NSData?
然后你可以使用:
if data == nil {
data = UIImageJPEGRepresentation(image, 1)
}
如果您想要空数据,请按以下方式初始化:
var data = NSData()
并检查它是否为空:
if data.length == 0 {
data = UIImageJPEGRepresentation(image, 1)
}
答案 2 :(得分:0)
如果您想将data
变量设置为nil
,请执行data = nil
。如果要将其设置为空,请执行data = NSData()
。