如何在Swift中删除一个对象

如何在Swift中为一个对象分配nil。 如果直接分配,我会收到错误。

在此处输入图像描述

来自Apple文档:

nil不能与非可选常量和变量一起使用 。 如果代码中的常量或变量需要在某些条件下缺少值,则始终将其声明为相应类型的可选值

同样非常重要的是要注意:

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

我希望能帮到你!

请检查下面 –

var lastRecordedLocation: String? lastRecordedLocation = nil 

要使对象无效,必须用nil声明 马克 。 这意味着该值可能(可能)为零。 所以声明为:

 var lastRecordedLocation: String? 

然后你可以将它设置为零

 lastRecordedLocation = nil 

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

 var lastRecordedLocation:String? 

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

注意:如果在不提供默认值的情况下定义可选变量,则变量会自动设置为nil:

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

只有可选的可以是零

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

如果你想要nil属性,你需要lastRecordedLocationOptional

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

 var jsonData = Data() 

该变量之前已被用于JSON序列化,但占用了太多内存,因此我重新初始化它,并且大小再次变为0字节。