我所有控制器的“唯一/继承”RKObjectLoaderDelegate

Posted

技术标签:

【中文标题】我所有控制器的“唯一/继承”RKObjectLoaderDelegate【英文标题】:"Unique/Inherited" RKObjectLoaderDelegate for all my controllers 【发布时间】:2012-11-12 19:59:34 【问题描述】:

所以我是 RestKit 的新手,我对控制器中的代表有疑问。我看到如果一个ViewController继承了RKObjectLoaderDelegate,就需要实现方法:

    - (void)objectLoader:(RKObjectLoader *)objectLoader didFailWithError:(NSError *)error
    
        NSLog(@"Error: %@", [error localizedDescription]);
    

现在,如果我想在任何地方都使用相同的功能(即:在我的所有作为 ObjectLoader 委托的 ViewController 中),我该怎么做?我不一定希望在 20 个不同的视图中拥有该代码......我想创建一个 RKObjectLoaderDelegate 类并一直创建该类,但是我必须每次都更改 ViewController 的委托,它是痛苦……有什么想法吗?!谢谢!

【问题讨论】:

你想要在每个控制器中使用不同版本的这个函数还是都一样? 它们将是相同的...... 【参考方案1】:

创建一个继承自 UIViewController 并采用 RKObjectLoaderDelegate 协议的自定义对象。将所需的objectLoader:didFailWithError: 函数实现添加到这个新对象。现在,只需让您的视图控制器继承自新对象而不是 UIViewController。这应该允许所有视图控制器使用相同的功能。

【讨论】:

以上是关于我所有控制器的“唯一/继承”RKObjectLoaderDelegate的主要内容,如果未能解决你的问题,请参考以下文章

使所有控制器方法异步

选项卡栏 - 向所有控制器添加新光束

如何从视图控制器调用所有方法和函数到应用程序委托?

在所有视图控制器中隐藏状态栏 - IOS [重复]

弹出视图控制器调用是不是释放其所有属性?

在所有视图控制器中创建警报功能 - swift