2015-07-31 3 views
-1

Я пытаюсь установить группу птиц, как два числа так, что, когда я задаю переменную можно использовать несколько «иначе если» заявление с этой одной группой позже на Коде:Как назначить более одного значения к UInt32

Xcode не позволяет мне сделать это, я в Swift

пусть birdgroup: UInt32 = 2, 3

ответ

1

Вы можете использовать Array, Set или кортеж для хранения нескольких значений в одной переменной. Если порядок имеет значение, перейдите с Array или кортежем, но если заказ не имеет значения, вы можете использовать Set. Array и Set позволяют изменять количество значений, хранящихся в вашей переменной, в то время как переменная кортежа должна всегда иметь одинаковую длину. Кроме того, вы можете перебрать элементы в массиве или установить, но не над кортежем.

Array является наиболее часто используемым из трех, поэтому, если вы не уверены, что использовать, это хороший первый выбор.

В целом, эта таблица показывает возможности и их свойства:

  Loopable Unloopable 
Ordered Array  Tuple 
Unordered Set  (none) 

Наконец, все элементы в массиве или наборе должны быть того же типа (или получены из того же самого типа, если массив или набор определяется базовым классом). Это называется однородным. Кортеж может содержать разные типы, также называемые гетерогенными.

  Homogeneous Heterogeneous 
Ordered Array  Tuple 
Unordered Set   (none) 

Collection Types в Swift документации описывается, как использовать Array и Set.

Массив

Создать массив с

var birdgroup: [UInt32] = [2, 3] 

birdgroup[0] равно 2, и birdgroup[1] равно 3. Вы также можете получить доступ к детали зацикливание:

for bird in birdgroup { 
    println("\(bird)") 
} 

Set

Вы можете объявить набор с

var birdgroup: Set<UInt32> = [2, 3] 

Потому что наборы не имеют порядка (представьте, что каждый предмет взят вместе в сумке), вы не можете запросить «первый» или «второй» предмет. Вместо этого, цикл по каждому элементу множества:

for bird in birdgroup { 
    println("\(bird)") 
} 

Кортеж

let birdgroup: (UInt32, UInt32) = (2, 3) 

Кортежи также сохраняют порядок их элементов. birdgroup.0 равно 2, и birdgroup.1 до 3. Вы можете также указать каждый элемент кортежа имя, если вы предпочитаете, чтобы на номер:

let birdgroup: (UInt32, UInt32) = (foo: 2, bar: 3) 

birdgroup.foo является 2, и birdgroup.bar является 3.

Кроме того, значения в кортеже не все должны быть одного типа. Вы можете комбинировать различные типы, такие как

let heterogeneousTuple: (UInt32, String) = (2, "three") 
+0

Dang! Спасибо, это отлично! – Hunter

Смежные вопросы