2015-06-03 25 views

Trả lời

23

From Apple Documentation:

nil không thể được sử dụng với các hằng số nonoptional và các biến. Nếu một hằng số hoặc biến trong mã của bạn cần phải làm việc với sự thiếu vắng của một giá trị dưới những điều kiện nhất định, luôn luôn tuyên bố nó như là một giá trị tùy chọn của loại thích hợp

cũng rất importante cần chú ý:

Nil của Swift không giống nil trong Mục tiêu-C. Trong Objective-C, nil là một con trỏ trỏ tới một đối tượng không tồn tại. Trong Swift, nil không phải là con trỏ — đó là sự vắng mặt của một giá trị của một loại nhất định. Optionals của bất kỳ loại có thể được thiết lập để nil, không chỉ là đối tượng loại

Tôi hy vọng rằng sẽ giúp bạn!

.

2

Điều đó có nghĩa đối tượng lastRecordedLocation của bạn không phải là Optional loại. Nếu bạn đặt lastRecordedLocation là Tùy chọn như:

var lastRecordedLocation:String? 

Bạn có thể đặt nil cho đối tượng đó sau.

2

Chỉ tùy chọn có thể được nil

var lastRecordedLocation:CLLocation? hay này var lastRecordedLocation:CLLocation!

14

Vui lòng kiểm tra dưới đây -

var lastRecordedLocation: String? 
lastRecordedLocation = nil 
2

nếu bạn muốn con số không tài sản, bạn cần Tùy chọn giá trị cho lastRecordedLocation

8

Để nil đối tượng, nó phải được khai báo với số không bằng ? đánh dấu. Điều này có nghĩa là giá trị có thể (có thể) là một số không. Vì vậy, tuyên bố nó như là:

var lastRecordedLocation: String? 

và sau đó bạn có thể thiết lập nó để nil

lastRecordedLocation = nil 
3

Chú ý: Nếu bạn xác định một biến tùy chọn mà không cung cấp một giá trị mặc định, các biến được tự động thiết lập để nil cho bạn:

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

tôi đã sử dụng sau đây để trống một loại dữ liệu điền trước biến

var jsonData = Data() 

Biến đã được sử dụng để tuần tự hóa JSON trước đây nhưng đã chiếm quá nhiều bộ nhớ, vì vậy tôi vừa khởi tạo lại và kích thước trở thành 0 byte một lần nữa.

Các vấn đề liên quan