Отправить сообщение потенциальному объекту - PullRequest
1 голос
/ 27 сентября 2011

Я нахожусь в ситуации, когда мне нужно отправить объект и метод с именем UIViewController, для которого может быть создан или не создан в будущем .Чтобы сделать этот вопрос немного более интересным, UIViewController будет помещен в UINavigationController после того, как будет добавлено два или три дополнительных UIViewController.

Каков наилучший способ сделать это?Уродливый подход - просто передать пакет сообщений (объект и имя метода) через промежуточные контроллеры.Это безобразно.

Просто подкласс UINavigationController и свисать имя объекта и метода?Может быть.Тогда как я узнаю, когда нужно очистить этот пакет сообщений?

NSInvocation выглядит действительно многообещающе в этом случае.Любая мысль?

Нет, нет, не синглтон, или extern struct, пожалуйста.


Редактировать: Спасибо за комментарии.

@ Акшай, я думал об этом.Вопрос в том, что если вы хотите отправить пакет сообщений (объект и имя метода) конкретному объекту под конкретным навигационным контроллером?Кроме того, если целевой объект не создан, вам необходимо очистить свой синглтон для последующего использования.Но тогда как вы узнаете, когда нужно разобраться?Использование синглтона - это просто беспорядок.

@ Praveen-K, NSNotifcation работает только для тех, кто уже существует.Я сказал, что хочу отправить пакет сообщений на потенциальный объект.

@ PragmaOnce, я и два других товарища по команде сейчас разрабатываем архитектуру.Надеюсь, это объясняет.Пожалуйста, без центра обработки данных.

@ Sedate Alien, Точно!

@ 9dan, Спасибо за ваш вклад.На самом деле, у нас есть NSClassFromString, NSSelectorFromString и executeSelector, с помощью которых мы можем создать экземпляр любого объекта и отправить сообщение для выполнения любого метода с любым количеством объектов.

Вопрос в том, как элегантно отправить это сообщение через несколько объектов, в моем случае UIViewController?Скажем, вы находитесь в UIViewController, и вы знаете, что вы добавите еще несколько UIViewController поверх текущего.После этого вы можете или не можете создать экземпляр объекта определенного класса и выполнить метод с объектом.Как мы это делаем без использования синглтона?Должен быть способ справиться с этим красиво.Я думаю, что NSInvocation обладает такой способностью.

...