Нет разницы. Форма (String)
на самом деле означает кортеж с одним значением String
тип, но это эквивалентно только тому, что говорят a String
.
Например, рассмотрим следующий массив:
var array = [String]()
вы можете добавить строку элемент, как обычно:
array.append("raw string")
, но вы также можете добавить кортеж, содержащий одно значение строки:
let tuple = (namedValue: "from tuple")
array.append(tuple)
Обратите внимание, что эквивалентность здесь не останавливается. Если у вас есть функция/метод приема п параметры:
func aFunc(#param1: Int, #param2: String, #param3: Double) {}
при вызове его вы можете предоставить список параметров:
aFunc(param1: 1, param2: "text", param3: 3.14)
но вы также можете сгруппировать параметры в кортеж, и только он к функции
let params = (param1: 1, param2: "text", param3: 3.14)
aFunc(params)
Спасибо Антонио, это то, о чем я только думал. Я заметил, что 'var tupleArray_002 = [(Int, String)]()' объявлено '[((Int, String))]' и что 'var tupleArray_002 = [Int, String]()' decl '[(Int, String)], поэтому я начал думать, что смотрю на кортеж. Еще раз спасибо за разъяснение, очень ценим. – fuzzygoat
Любопытно, можете ли вы получить список параметров функции tuple, я попробовал его здесь, и я получаю ошибку, передающую кортеж функции (согласно вашей последней строке) – fuzzygoat
Какая ошибка? Я добавил функцию к моему ответу, возможно, вам не хватает внешних имен в своей сигнатуре. – Antonio