Iphone 向将生成的对象发送消息
我所处的情况是,我需要向UIViewController发送一个对象和一个方法名,将来可能会实例化,也可能不会实例化。为了让事情更有趣,在推送两个或三个额外的UIViewController之后,UIViewController将被推送到UINavigationController 最好的方法是什么?一种丑陋的方法是通过中间的控制器中继消息包(一个对象和一个方法名)。那太难看了 只需将UINavigationController子类化并悬挂对象和方法名称?大概那我怎么知道什么时候清理那个信息包呢 不过在这种情况下,NSInvocation看起来很有希望。有什么想法吗 请不要使用单例或外部结构Iphone 向将生成的对象发送消息,iphone,uiviewcontroller,uinavigationcontroller,nsinvocation,Iphone,Uiviewcontroller,Uinavigationcontroller,Nsinvocation,我所处的情况是,我需要向UIViewController发送一个对象和一个方法名,将来可能会实例化,也可能不会实例化。为了让事情更有趣,在推送两个或三个额外的UIViewController之后,UIViewController将被推送到UINavigationController 最好的方法是什么?一种丑陋的方法是通过中间的控制器中继消息包(一个对象和一个方法名)。那太难看了 只需将UINavigationController子类化并悬挂对象和方法名称?大概那我怎么知道什么时候清理那个信息包呢
编辑:谢谢你的评论 @阿克谢,我已经考虑过了。问题是,如果要将消息包(对象和方法名)发送到特定navigationController下的特定对象,该怎么办? 此外,如果未实例化目标对象,则需要清除singleton以供以后使用。但是你怎么知道什么时候该清理呢?使用singleton只是一团乱 @Praveen-K,通知只对那些已经存在的人有效。我说我想向一个将生成的对象发送一个消息包 @布拉格马恩斯,我和另外两名队友正在设计这个架构。希望这能解释。请不要选择数据中心单件 @稳重的外星人,没错 @丹,谢谢你的意见。事实上,我们有NSClassFromString、NSSelectorFromString和performSelector,我们可以实例化任何对象,并发送消息以执行具有任意数量对象的任何方法
问题是如何优雅地跨多个对象发送该消息,在我的例子中是UIViewController?假设您使用的是UIViewController,并且您知道将在当前UIViewController的基础上再推几个UIViewController。在这之后,您可能会也可能不会实例化特定类的对象,并使用对象执行方法。我们如何使用singleton实现此功能?一定有办法处理得很好。我认为NSInvocation具有这种能力。为什么不将这些内容保存在某个ivar(比如说,一个单例类)中,并让它在实例化时被
UIViewController
访问?您可以使用NSNotification并在更改时通知接收者。老实说,当您没有规划软件的流程/体系结构时,就会出现这样的问题。我建议你使用某种“数据中心”的单例软件。@PragmaOnce:引入单例软件来改进软件架构听起来很奇怪。我真的不理解OP和Alien对单例软件的憎恨。如果是90年代的,那就不好了?