Я пытаюсь собрать воедино и запустить список задач, составленных пользователем. Эти списки задач могут состоять из сотен или тысяч элементов.
Из того, что я знаю, самый простой и очевидный способ - создать массив, а затем выполнить итерацию по ним:
NSArray *arrayOfTasks = .... init and fill with thousands of tasks
for (id *eachTask in arrayOfTasks)
{
if ( eachTask && [eachTask respondsToSelector:@selector(execute)] ) [eachTask execute];
}
Для настольного компьютера это может быть не проблемой, но для iphone или ipad это может быть проблемой. Это хороший способ сделать это, или есть более быстрый способ сделать то же самое?
Причина, по которой я спрашиваю о том, сколько накладных расходов происходит в msg_send, заключается в том, что я также мог бы выполнять прямую реализацию на C. Например, я мог бы собрать связанный список и использовать блок для выполнения следующей задачи. Получу ли я что-нибудь от этого или это действительно больше проблем, чем стоит?