【问题标题】:Warning arise after conform `UIScrollViewDelegate`遵循`UIScrollViewDelegate`后出现警告
【发布时间】:2014-04-18 05:59:18
【问题描述】:

我正面临下面一行的警告

更改以下行后出现此警告

@interface BDSAppDelegate : UIResponder <UIApplicationDelegate>

@interface BDSAppDelegate : UIResponder <UIApplicationDelegate, UIScrollViewDelegate>

在这里,我只是符合UIScrollViewDelegate 并出现此警告。每件事都很完美,但我不明白如何删除这个警告。任何人都可以解释为什么会这样以及如何删除它。提前致谢。

【问题讨论】:

    标签: ios objective-c uiscrollviewdelegate


    【解决方案1】:

    [[UIApplication sharedApplication] delegate] 返回一个 id&lt;UIApplicationDelegate&gt; 必须强制转换为 BDSAppDelegate 以防止警告。

    换句话说,所有BDSAppDelegate 都是id&lt;UIApplicationDelegate&gt;,但这并不意味着所有id&lt;UIApplicationDelegate&gt; 都是BDSAppDelegate

    【讨论】:

      【解决方案2】:

      不要将&lt;UIScrollViewDelegate&gt; 添加到公共接口,您应该添加 将其添加到实现文件中的类扩展

      BDSAppDelegate.h(公共接口):

      ...
      @interface BDSAppDelegate : UIResponder <UIApplicationDelegate> 
      ...
      

      BDSAppDelegate.m(实现):

      #import "BDSAppDelegate.h"
      
      @interface BDSAppDelegate () <UIScrollViewDelegate>
      @end
      
      @implementation BDSAppDelegate
      ...
      @end
      

      这使得声明本地到实现,并且

      BSDAppDelegate *mainDelegate = [[UIApplication sharedApplication] delegate];
      

      在没有演员表的情况下工作(并且没有警告)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-17
        • 1970-01-01
        相关资源
        最近更新 更多