如何在Swift中删除一个对象

Mur*_*m K 27 null cocoa-touch ios swift

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

在此输入图像描述

Ica*_*aro 37

来自Apple文档:

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

也非常重要的是注意到:

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

我希望能帮到你!

.


San*_*u C 22

请检查下面 -

var lastRecordedLocation: String?
lastRecordedLocation = nil
Run Code Online (Sandbox Code Playgroud)


iAn*_*rag 13

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

var lastRecordedLocation: String?
Run Code Online (Sandbox Code Playgroud)

然后你可以将它设置为零

lastRecordedLocation = nil
Run Code Online (Sandbox Code Playgroud)


use*_*143 6

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

var lastRecordedLocation: String?
// lastRecordedLocation is automatically set to nil
   or
lastRecordedLocation = nil
Run Code Online (Sandbox Code Playgroud)


rid*_*cuk 5

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

var lastRecordedLocation:String?
Run Code Online (Sandbox Code Playgroud)

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