Ваше право. Я предпочитаю стандартный, потому что его проще поддерживать. Да и предложенный вариант выглядит костыльно, потому как вряд ли пользователь желает открыть два контроллера сразу.
Вы можете использовать weak линковку (-weak_framework Foo, вместо -framework Foo), тогда юзер может сам подкинуть нужный фрэймворк, который он также использует.
> Но почему-то в Apple решили не помещать в заготовочные файлы полную структуру Method
Видимо потому что вас, как конечного пользователя, это не касается. Возможно, они решили как-то инкапсулировать интерфейс и данные которые вас не касаются, чтобы при изменении имплементации ваш код не сломался.
А ваша задача(не RTL, а вызов оригинального метода) решается посредством свиззлинга, а то что многие, по вашим словам, о нем не знают это хорошо.
Очень крутая книга о тайм-менеджменте для айтишников, без всей этой фигни для «успешных людей»:
Томас Лимончелли, Тайм-менеджмент для системных администраторов.
И этот метод работает.
Видимо нам нужно учить матчасть :)
Есть у вас готовый тестовый проект, на котором можно добиться краша?
> любую задачу можно решить массой способов
Вы помните что было с isa? Свиззлинг использует только публичное API, это дает немного больше гарантий, нежели игры с указателями.
> А так, в дальнейшем всё это обернется в define и будет очень неплохо выглядеть.
Спорный вопрос, макросы еще то зло, использовать их ради «чтоб красиво» — звучит очень странно.
> Runtime надо знать, иногда это сильно выручает
Безусловно, только, пожалуй, все задачи (ну кроме манки-патчинга) решаются без использования рантайма, и уж тем более без игр с указателями.
Видимо потому что вас, как конечного пользователя, это не касается. Возможно, они решили как-то инкапсулировать интерфейс и данные которые вас не касаются, чтобы при изменении имплементации ваш код не сломался.
А ваша задача(не RTL, а вызов оригинального метода) решается посредством свиззлинга, а то что многие, по вашим словам, о нем не знают это хорошо.
P.S. надеюсь я правильно понял вашу задачу
Томас Лимончелли, Тайм-менеджмент для системных администраторов.
Но у него есть огромный минус, которого нет у вашего решения — NIH