我对OOP和设计模式都很陌生,但我之前已经实现了一次Singleton模式,以便在不同的ViewControllers之间传递静态数组和字符串对象。
我想知道是否有一种简单的方法让我的所有ViewControllers监听手势或事件,然后在所述手势/事件发生后执行一些代码。我在考虑使用UIGestureRecognizer
类的motionBegan
对象或UIResponder
方法。
我已经通过创建一个新的UIWindow
类,在那里提供代码,并将MainWindow.xib
的类更改为我的自定义类来实现此功能。这是有效的,并且是一个很好的解决方案,但我仍然想知道是否存在实现此解决方案的非IB方式(例如,单身人士)
提前感谢您的指导。
示例代码非常感谢!
答案 0 :(得分:1)
你是否继承了UIWindow?这种情况非常罕见。阅读有关UIApplication委托对象和一般委托模式的信息。它基本上是你的应用程序在Cocoa中的主要单例。
如果您不想传递它,您可以随时通过调用
来检索应用程序的委托[[UIApplication sharedApplication] delegate]
答案 1 :(得分:0)
如果您希望将大量未连接的对象/控制器通知单个事件,您可以根据需要触发它(来自控件或手势识别器的目标/操作)。
您可能希望查看NSNotificationCenter
和NSNotification
,您可以列出多个对象列出事件/更改通知。