我在下面的线路上面临警告

此警告已在以下更改后出现。
@interface BDSAppDelegate : UIResponder <UIApplicationDelegate>至
@interface BDSAppDelegate : UIResponder <UIApplicationDelegate, UIScrollViewDelegate>在这里,我只需要遵守UIScrollViewDelegate,就会出现这样的警告。每件事都很完美,但我不知道如何删除这个警告。有谁能解释一下为什么会发生这种情况,以及如何消除它。提前谢谢。
发布于 2014-04-18 06:03:11
[[UIApplication sharedApplication] delegate]返回一个必须转换为BDSAppDelegate以防止警告的id<UIApplicationDelegate>。
换句话说,所有的BDSAppDelegate都是id<UIApplicationDelegate>,但这并不意味着所有的id<UIApplicationDelegate>都是BDSAppDelegate。
发布于 2014-04-18 06:13:12
与其将<UIScrollViewDelegate>添加到公共接口,不如将其添加到实现文件中的类扩展名中:
BDSAppDelegate.h (公共接口):
...
@interface BDSAppDelegate : UIResponder <UIApplicationDelegate>
...BDSAppDelegate.m (实现):
#import "BDSAppDelegate.h"
@interface BDSAppDelegate () <UIScrollViewDelegate>
@end
@implementation BDSAppDelegate
...
@end使声明成为实现的本地声明,并且
BSDAppDelegate *mainDelegate = [[UIApplication sharedApplication] delegate];在没有演员的情况下工作(也没有警告)。
https://stackoverflow.com/questions/23148316
复制相似问题