符合`UIScrollViewDelegate`后出现警告

时间:2014-04-18 05:59:19

标签: ios objective-c uiscrollviewdelegate

我在下面的线上面临警告

enter image description here

更改以下行后出现此警告

@interface BDSAppDelegate : UIResponder <UIApplicationDelegate>

@interface BDSAppDelegate : UIResponder <UIApplicationDelegate, UIScrollViewDelegate>

在这里,我只是遵守UIScrollViewDelegate并出现此警告。每件事情都很完美,但我无法理解如何删除此警告。任何人都可以解释为什么会这样,以及如何删除它。提前谢谢。

2 个答案:

答案 0 :(得分:2)

[[UIApplication sharedApplication] delegate]会返回id<UIApplicationDelegate>,必须将其转换为BDSAppDelegate才能阻止警告。

换句话说,所有BDSAppDelegate都是id<UIApplicationDelegate>,但并不意味着所有id<UIApplicationDelegate>都是BDSAppDelegate

答案 1 :(得分:2)

您应该添加,而不是将<UIScrollViewDelegate>添加到公共接口 它到实现文件中的类扩展

BDSAppDelegate.h(公共接口):

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

BDSAppDelegate.m(实施):

#import "BDSAppDelegate.h"

@interface BDSAppDelegate () <UIScrollViewDelegate>
@end

@implementation BDSAppDelegate
...
@end

这使得声明 local 成为实现,并且

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

没有演员表(没有警告)。