将NSData初始化为nil SWIFT

时间:2014-12-03 17:57:00

标签: ios swift nsdata

如何将NSData初始化为nil?

因为稍后我需要在使用UIImageJPEGRepresentation之前检查此数据是否为空。

类似的东西:

if data == nil {
    data = UIImageJPEGRepresentation(image, 1)
}

我尝试了data.length == 0但我不知道为什么,在我没有初始化的情况下,data.length不等于0。

3 个答案:

答案 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()