繁体   English   中英

如何在Swift中将对象设为Nil

[英]How to Nil a object in Swift

如何在Swift中将nil分配给对象。 如果直接分配,则会出错。

在此处输入图片说明

从Apple文档中:

nil不能与非可选常量和变量一起使用 如果代码中的常量或变量在某些情况下需要在没有值的情况下工作,请始终将其声明为适当类型的可选值

注意也很重要:

Swift的nil与Objective-C中的nil不同 在Objective-C中,nil是指向不存在对象的指针。 在Swift中,nil不是指针,而是缺少某种类型的值。 可以将任何类型的Optionals设置为nil,而不仅仅是对象类型

希望对您有所帮助!

请在下面检查-

var lastRecordedLocation: String?
lastRecordedLocation = nil

要使该对象无效,必须使用将该对象声明为nil 记号 这意味着该值可以(可能)为零。 因此,将其声明为:

var lastRecordedLocation: String?

然后可以将其设置为nil

lastRecordedLocation = nil

注意:如果您定义可选变量而不提供默认值,则该变量会自动为您设置为nil:

var lastRecordedLocation: String?
// lastRecordedLocation is automatically set to nil
   or
lastRecordedLocation = nil

这意味着您的lastRecordedLocation对象不是Optional类型。 如果将lastRecordedLocation设置为Optional,例如:

var lastRecordedLocation:String?

您可以稍后将nil设置为该对象。

只有可选可以为nil

var lastRecordedLocation:CLLocation? 或这个var lastRecordedLocation:CLLocation!

如果要使该属性为nil,则需要lastRecordedLocationOptional

我使用以下内容清空了先前填充的数据类型变量

var jsonData = Data()

该变量之前曾用于JSON序列化,但是占用了过多的内存,因此我刚刚对其进行了初始化,并且大小再次变为0个字节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM