Вы захотите смотреть на тег noscript.
<script type="text/javascript">
...some javascript script to insert data...
</script>
<noscript>
<p>Access the <a href="http://someplace.com/data">data.</a></p>
</noscript>
При создании объектов определенно есть некоторые накладные расходы. Для небольшого количества объектов использование структур данных ObjC по-прежнему уместно. Если у вас большое количество кортежей, я бы управлял ими в массиве структур C. Помните, что Objective-C на самом деле просто C. Использование конструкций C в Objective-C является уместным и обычным (до определенной степени; изучение того, где находится эта точка, представляет собой важную веху на пути к тому, чтобы стать хорошим разработчиком Objective-C).
Обычно для такой структуры данных я бы, вероятно, создал один объект Objective-C, который управлял всей коллекцией. Таким образом, внешние вызывающие абоненты увидят интерфейс Objective-C, но внутренние данные будут храниться в более эффективной структуре C.
Если обычным явлением является быстрый доступ к большому количеству кортежей, мой объект коллекции, вероятно, предоставит "get" методы, подобные [NSArray getObjects: range:]
. Методы ObjC, которые начинаются с "get", указывают, что первый параметр является указателем, который будет перезаписан методом. Это обычно используется для высокопроизводительного C-подобного доступа к вещам, управляемым объектом ObjC.
Этот вид структуры данных - это именно то, как разработчики ObjC объединяют элегантность и удобство обслуживания ObjC с производительностью и простотой C.
Я думаю, вам придется довольствоваться NSArray объектов NSArray или, возможно, NSArray объектов NSDictionary. Вы всегда можете свернуть свой собственный класс или сделать это так же, как в C.
Есть несколько способов сделать это: