我收到错误消息“MillersAppAppDelegate”可能无法响应“委托(delegate)”。我仍在学习所有这些,但并不完全理解,因为我读过这通常发生在头文件中未声明方法时。我正在使用 XCode 4。这是我正在查看的代码部分:
#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController {
}
-(IBAction) contactButtonClick:(id)sender;
@end
这是 .m 文件:
#import "MainViewController.h"
#import "MillersAppAppDelegate.h"
#import "ContactViewController.h"
@implementation MainViewController
-(IBAction) contactButtonClick:(id)sender{
MillersAppAppDelegate *delegate = [(MillersAppAppDelegate *)[UIApplication sharedApplication] delegate]; <---this line gets the warning "'MillersAppAppDelegate' may not respond to 'delegate'"
ContactViewController *contactView = [[ContactViewController alloc]initWithNibName:@"ContactViewController" bundle:nil];
[delegate switchViews:self.view toView:contactView.view];
}
该程序运行良好,但我有几个其他操作会产生相同的警告(所有处理 View 切换)。感谢您的帮助,我确定这是一个简单的答案,但我仍然是初学者。这也可能是 XCode3 和 XCode 4 之间的问题?
最佳答案
尝试
(MillersAppAppDelegate *)[[UIApplication sharedApplication] delegate];
反而 :)
你想投
[[UIApplication sharedApplication] delegate]
至MillersAppAppDelegate
.你不小心投了
sharedApplication
自己到MillersAppAppDelegate
关于objective-c - AppDelegate 可能无法响应 'delegate',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7627906/