@Extremesarova ну я просто хотел обратить внимание, что в моем коде есть места, где нужно адаптировать под особенности проекта, что он из-за этого не рабочий
@morozovdenis здесь как раз нет никакой сильной связности. у нас делегат это протокол, его может имплементировать любой класс.
нотификации здесь вообще не подходят, потому что если представить, что в системе появилось два первых контроллера и два контроллера редактирования - как им отличить где чья нотификация?
"идеологически" вы тоже написали с потолка
если понадобится всунуть посередине еще контроллер - то всё сильно изменится и все равно придется переписывать. вы же не собираетесь откатываться сквозь один контроллер назад после добавления?
вдруг во время написания логики "сложных" тестов вы поймете, что там есть закономерность, общий код, и можно значительно всё упростить, сделав функцию или метод
В обычном виде вам доступны все возможные и невозможные средства разработки, статический анализатор, отладчик. Для БД же нужен будет какой-то особый онлайновый редактор, в лучшем случае с подсветкой. Давно не писал на php, но разве eval покажет ошибку на какой-то строке? Или просто зафейлится?
Мне кажется не надо морочить голову. У вас уже есть одна БД - таблица файловой системы, не стоит тут выдумывать экзотики. Лично я вижу одни проблемы и ни одного плюса от хранения кода в базе.
Я наверное плохо представляю себе как может быть хранение кода в базе удобнее, чем в исходниках. В базе ничего не отрефакторить, не выделить общего. Не подебажить по шагам. Нет контроля версий. Хуже развертывается. Вот вы еще говорите про бекап - почему вы думаете, что бекап базы это что-то такое простое и легко обратимое? Куда проще зайти на сервер и git clone или даже tar -xzf, чем мучаться с базой. Файловая система это по сути та же база данных, каждый файл это отдельная запись.
И правда.. @Flanker_4 спасибо за поправку!
У меня просто всплыло воспоминание, будто бы я на заре изучения си вместо %d пытался писать %i и это якобы было ошибкой. Или это в php его нету..
@firmach я думаю тут вы очень неправы. Это ведь событие делегата и нам надо проверить, тот ли это конкретно объект. У нас может быть два объекта, делегирующих свои сообщения - в данном случае два контроллера. Допустим, их класс реализовал isEqual так, что они будут равны между собой. Тогда при посылке сообщений мы в методе делегата никак их друг от друга не отличим. Суть проверки указателей как раз в том, чтобы убедиться, что сообщение слал конкретный-преконкретный объект, что гарантирует нам несовпадаемость указателей разных объектов.
@s0L я думаю, orm предполагает связь объектов и базы данных. Core Data может быть очень эффективным средством и совсем без базы данных (хранение только в памяти или в других persistent storage, не БД) https://developer.apple.com/library/mac/documentat...
What Core Data is not