Это не ответ как таковой, вы не предоставили достаточно подробностей для этого, но давайте посмотрим, сможем ли мы помочь вам на правильном пути.Вы писали:
Я искал что-то вроде:
newArray = Array(named: oldArray [0])
Это не существует, потому что массивы (и другие значения) не имеют имена .Вы, кажется, путаете имена и значения переменных, это очень разные вещи.Например, выражение:
[0, 1, 8, 27, 64]
создает массив value , содержащий пять элементов, у него нет name , это просто значение.Значение может быть присвоено переменной:
var cubes = [0, 1, 8, 27, 64]
Теперь у нас есть переменная с name cubes
, текущее значение которой является массивом.Вышеприведенный оператор объявил переменную cubes
, присвоил ей тип [Int]
и присвоил ей начальное значение [0, 1, 8, 27, 64]
.Он не назвал значение, значение может быть скопировано в другую переменную:
var anotherVariable = cubes
После вышеперечисленного у вас есть две переменные, cubes
и anotherVariable
, каждая из которых в настоящее время имеет одинаковое значение.Значения не shared , вы можете изменить одно из значений:
anotherVariable[0] = 42
и теперь anotherVariable
содержит значение [42, 1, 8, 27, 64]
, в то время как cubes
все ещесодержит значение [0, 1, 8, 27, 64]
.
ОК, вернемся к вашему вопросу, вы написали:
У меня есть array of 20 arrays
, который совпадает с моим array of 20 strings
...
То, что вы описываете, выглядит примерно так:
var myArrays = [ [0, 1, 4, 9, 16], [0, 1, 8, 27, 64] ]
var myNames = [ "squares", "cubes" ]
и у вас есть кнопки с метками squares
и cubes
.Похоже, вы пытаетесь перейти от щелчка по кнопке к элементу myArrays
через массив myNames
- отсюда и происходит «именование» значений.
Для сопоставления"имя" для "массива", вы должны использовать словарь , который представляет собой набор ключей, ваши имена, значения, ваши массивы:
let myCollection = [ "squares":[0, 1, 4, 9, 16], "cubes":[0, 1, 8, 27, 64] ]
Это объявляет константу (использование let
, а не var
) словаря, ключами которого являются строки и массивы значений.Таким образом, у вас фактически есть коллекция «именованных массивов».
Теперь вы можете выбрать массив для этой коллекции по имени, используя следующую инструкцию:
var currentArray = myCollection[currentButtonTitle]
где currentButtonTitle
ранее было установлено название кнопки, на которую вы нажали.
HTH