Я хочу, чтобы обеспечить соблюдение (во время компиляции) массив из 5 элементов определенного типаSwift - создать массив фиксированной длиной вынужденный во время компиляции
я не смог найти решение, чтобы прибегли к обходному пути, создавая кортеж
(Это оскорбительно я знаю)
typealias FiveElementArray = (MyType,MyType,MyType,MyType,MyType) // mock array by using typed tuple
Он работает для моих потребностей - пока мне не нужно для доступа к элементу по индексу во время выполнения.
Например:
var DB = FiveElementArray // the tuple of 5 elements
tableView(tableView : UITableView,cellForRowAtIndexPath:indexPath) -> UITableViewCell {
// would like to populate with the value at index
DB[indexpath.row] // no such syntax for tuples
}
Так как я могу использовать правильный быстрый массив со статически типизированных длиной
Вы пытались назначить массив через 'let' вместо этого? – luk2302
Если вы создаете массив, набор или словарь и назначаете его переменной, создаваемая коллекция будет изменяться. Это означает, что вы можете изменять (или мутировать) коллекцию после ее создания путем добавления, удаления или изменения элементов в коллекции.И наоборот, если вы назначаете массив, набор или словарь константе, эта коллекция неизменна, а ее размер и содержимое не могут быть изменены. Из https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html – luk2302
@ luk2302 Он не отвечает на вопрос (это не относится). – Moritz