Не требует инсталляции рантайма в систему, т.е. можно просто скопировать в составе проекта. Как результат — нет зависимости от системы, нет необходимости писать инсталлятор и нет минуса с увеличением размера проектов при дублировании статически слинкованного кода рантайма.
Можно не добавлять модификатор __autoreleasing в сигнатуру -(BOOL)save:(NSError * __autoreleasing *) error, т.к. переменная-указатель на id имеет этот модификатор по умолчанию.
Т.е. основной момент — производительность, согласен, но хочу сказать, что там, где пишут такой код, идут на это сознательно.
Решений, в которых удобство поддержки длинных списков важнее скорости, не так уж и мало, к примеру, я активно использую такой подход в системах сборки на scons в небольших проектах для редактирования списка исходников. Сопровождать оформленые таким образом списки мне сильно удобней.
В этой строчке происходит увеличение количества ссылок, так как переменная имеет модификатор __strong.
Про splitlines
Про применимость
Решений, в которых удобство поддержки длинных списков важнее скорости, не так уж и мало, к примеру, я активно использую такой подход в системах сборки на scons в небольших проектах для редактирования списка исходников. Сопровождать оформленые таким образом списки мне сильно удобней.
?