Я нахожусь в ситуации, когда мне нужно отправить объект и метод с именем UIViewController, для которого может быть создан или не создан в будущем .Чтобы сделать этот вопрос немного более интересным, UIViewController будет помещен в UINavigationController после того, как будет добавлено два или три дополнительных UIViewController.
Каков наилучший способ сделать это?Уродливый подход - просто передать пакет сообщений (объект и имя метода) через промежуточные контроллеры.Это безобразно.
Просто подкласс UINavigationController и свисать имя объекта и метода?Может быть.Тогда как я узнаю, когда нужно очистить этот пакет сообщений?
NSInvocation выглядит действительно многообещающе в этом случае.Любая мысль?
Нет, нет, не синглтон, или extern struct, пожалуйста.
Редактировать: Спасибо за комментарии.
@ Акшай, я думал об этом.Вопрос в том, что если вы хотите отправить пакет сообщений (объект и имя метода) конкретному объекту под конкретным навигационным контроллером?Кроме того, если целевой объект не создан, вам необходимо очистить свой синглтон для последующего использования.Но тогда как вы узнаете, когда нужно разобраться?Использование синглтона - это просто беспорядок.
@ Praveen-K, NSNotifcation работает только для тех, кто уже существует.Я сказал, что хочу отправить пакет сообщений на потенциальный объект.
@ PragmaOnce, я и два других товарища по команде сейчас разрабатываем архитектуру.Надеюсь, это объясняет.Пожалуйста, без центра обработки данных.
@ Sedate Alien, Точно!
@ 9dan, Спасибо за ваш вклад.На самом деле, у нас есть NSClassFromString, NSSelectorFromString и executeSelector, с помощью которых мы можем создать экземпляр любого объекта и отправить сообщение для выполнения любого метода с любым количеством объектов.
Вопрос в том, как элегантно отправить это сообщение через несколько объектов, в моем случае UIViewController?Скажем, вы находитесь в UIViewController, и вы знаете, что вы добавите еще несколько UIViewController поверх текущего.После этого вы можете или не можете создать экземпляр объекта определенного класса и выполнить метод с объектом.Как мы это делаем без использования синглтона?Должен быть способ справиться с этим красиво.Я думаю, что NSInvocation обладает такой способностью.