观察这个非常简单的uiviewcontroller子类方法:
-(IBAction)launchSearch
{
OffersSearchController *search = [[OffersSearchController alloc]
initWithNibName:@"OffersSearchView" bundle:nil];
EverWondrAppDelegate *del = [UIApplication sharedApplication].delegate;
[del.navigationController pushViewController:search animated:YES];
[search release];
}
在我得到*del的那一行,我得到一个编译器警告,
Type 'id <UIApplicationDelegate>' does not conform to the 'CLLocationManagerDelegate' protocol
. 事实上,我的应用程序委托确实符合该协议,我在这里所做的与此无关。那么,这个信息是怎么回事?
第二个问题:有时我可以通过
self.navigationController
有时我做不到,必须去我的应用程序代表的财产,以获得它,就像我在这里做的。任何关于这一点的提示都是非常有用的。