ios - UIViewController 基类——好不好

标签 ios objective-c uiviewcontroller

我必须将手势识别器的单一逻辑应用于所有 UIViewController我的应用程序中的元素。

我想创建一个基类。然而,据我所知,我们应该只在非常必要的情况下才应该在继承链中添加额外的层。

将我上面提到的功能添加到我的项目中的最有效方法是什么,而无需将代码复制粘贴到每个我的 Controller ?

最佳答案

您可以使用 UIViewController 的扩展名

extension UIViewController
{
   // write code that has to be used in all view controllers
   func applyTheRequiredPropertiesToGestureRecognizer(gr:UIGestureRecognizer)
   {
      // do whatever you want to do
   }
}

稍后在使用时
class SomeViewController:UIViewController{

   let gestureRecog = UIGestureRecognizer()

   //call the method 
   func someMethod()
   {
     self.applyTheRequiredPropertiesToGestureRecognizer(gestureRecog)
   }
}

关于ios - UIViewController 基类——好不好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44254972/

相关文章:

iphone - iO 上是否有图像缓存框架?

ios - Grand Central Dispatch 嵌套队列和不同的队列优先级

ios - 有没有一种方法可以使用 Objective-C 从 PNG 文件中提取自定义元数据?

ios - 使用presentViewController后找不到现有的segues

iphone - 如何在 iPhone 上的 ViewController 之间共享对象?

ios - 如果在 API 响应中被删除,则删除 Realm 对象条目

iphone - tableHeaderView 中的 UITextView 找不到委托(delegate)

iphone - 隐藏后navigationController工具栏不会重新出现

ios - 带有链接回 View Controller 的按钮的自定义对象

iphone - 如何在旋转开始前显示 UIActivityIndi​​catorView