2015-10-27 27 views
10

Cách chính xác để khai báo một bộ trống là gì?Swift: Khai báo các tuple rỗng

  • Đối Mảng: var myArr : [String] = []
  • Đối với các bộ: var myTuple: (key: String, val: Int) =()?

Có cách nào chính xác để đạt được điều này không?

+0

Thêm các giá trị hoặc làm cho nó bắt buộc –

+0

bạn có thể khởi tạo nó với "" và 0 –

+1

@LeoDabus "giá trị ảo thuật" như ' ""' và '0' có thể nguy hiểm nếu những giá trị có giá trị . –

Trả lời

17

Không có thứ gì như giá trị bộ trống/không được lấp đầy. Điều quan trọng cần nhớ là bộ dữ liệu không phải là bộ sưu tập như Array hoặc Dictionary. Tuples là các loại có cấu trúc. Ví dụ, bạn không thể lặp qua một tuple với vòng lặp for. Trong ví dụ của bạn, myTuple là một giá trị duy nhất có chứa một số String và một số Int.

Một tuple giống như một cấu trúc giấu tên theo yêu cầu, chẳng hạn như struct sau nhưng nếu nó là có thể cho nó được giấu tên:

struct MyStruct { 
    let key: String 
    let val: Int 
} 

Nếu bạn muốn mô hình hóa một giá trị tuple mất tích, bạn nên đặt loại toàn bộ tùy chọn. Ví dụ:

var myTuple: (key: String, val: Int)? = nil 
+4

Lưu ý rằng có một * tuple trống * - đó là kiểu trả về của các hàm không trả về gì cả, tức là 'Void'. Xem https://developer.apple.com/reference/swift/void – Palimondo

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