我在下面的线上面临警告
更改以下行后出现此警告
@interface BDSAppDelegate : UIResponder <UIApplicationDelegate>
到
@interface BDSAppDelegate : UIResponder <UIApplicationDelegate, UIScrollViewDelegate>
在这里,我只是遵守UIScrollViewDelegate
并出现此警告。每件事情都很完美,但我无法理解如何删除此警告。任何人都可以解释为什么会这样,以及如何删除它。提前谢谢。
答案 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];
没有演员表(没有警告)。