Ответ 1
Не существует такой вещи, как "незаполненное" значение кортежа. Другими словами, вы не создаете пустой кортеж, а затем добавляете к нему значения позже. Важно помнить, что кортежи не являются коллекциями, такими как Array
или Dictionary
. Кортежи являются структурированными типами. Например, вы не можете перебирать кортеж с циклом for. В вашем примере myTuple
- это одно значение, которое содержит String
и Int
.
Кортеж похож на безымянную структуру по требованию, такую как следующая структура, но если бы она была безымянной:
struct MyStruct {
let key: String
let val: Int
}
Если вы хотите смоделировать отсутствующее значение кортежа, вы должны сделать тип всего кортежа необязательным. Например:
var myTuple: (key: String, val: Int)? = nil