2015-10-27 45 views
10

聲明空元組的正確方法是什麼?Swift:聲明空元組

  • 數組:var myArr : [String] = []
  • 元組:var myTuple: (key: String, val: Int) =()

有沒有正確的方法來實現這一目標?

+0

添加值或使其成爲可選 –

+0

你可以用「初始化」和0 –

+1

@LeoDabus「魔力值」像'「」'和'如果這些值是有效的0'可能是危險的。 –

回答

17

沒有空/未填滿的元組值。重要的是要記住,元組不是像ArrayDictionary這樣的集合。元組是結構化類型。例如,你不能用for循環遍歷一個元組。在您的示例中,myTuple是恰好包含StringInt的單個值。

元組就像是一個按需不願透露姓名的結構,如下面的結構,但如果有可能爲它是無名:

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

如果你想缺失元組值模型,您應該使整個元組的類型可選。例如:

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

請注意,有一個*空元組* - 它是返回類型的函數,它們不返回任何內容,即'Void'。請參閱https://developer.apple.com/reference/swift/void – Palimondo