У меня есть матрица, т.е. массив массивов.Я хочу добавить несколько методов, чтобы лучше обрабатывать это как расширение Array
.Я думал написать что-то вроде этого:
extension Array where Element == Array {
// my methods
}
Но, увы, это не скомпилируется, так как я добавил рекурсивное определение.Конечно, я могу опустить часть where Element == Array
, но кажется приятным прикосновение, чтобы эти методы показывались только при необходимости.Есть ли какой-то другой способ, которым это может быть достигнуто?
РЕДАКТИРОВАТЬ: согласно предложению @Leo Dabus, я приведу несколько вариантов использования:
У меня есть приложение, которое имеет несколько контроллеров табличного представления.В каждом из них есть разделы и ряды.Чтобы их заполнить, я использую два массива: один для имен разделов, а другой - массив массивов объектов (или структур) -> соответствующих разделов и строк в индексных путях.Поэтому я хочу написать методы для манипулирования массивом массивов на основе индекса пути.Например:
a[indexPath] = sender
Эти объекты различаются, некоторые являются простыми строками, некоторые более сложными