2010-06-14 33 views
0

观察这个非常简单的UIViewController子类方法:为什么我会收到有关我的应用程序委托和CLLocationManageDelegate的警告?

-(IBAction)launchSearch 
{ 
    OffersSearchController *search = [[OffersSearchController alloc] 
             initWithNibName:@"OffersSearchView" bundle:nil]; 
    EverWondrAppDelegate *del = [UIApplication sharedApplication].delegate; 
    [del.navigationController pushViewController:search animated:YES]; 
    [search release]; 
} 

在哪里获得*德尔,我得到一个编译器警告,上面写着Type 'id <UIApplicationDelegate>' does not conform to the 'CLLocationManagerDelegate' protocol行。实际上,我的应用程序委托符合该协议,而我在这里所做的与此完全没有任何关系。那么这条消息到底是怎么回事?

第二个问题:有时我可以通过self.navigationController找到我的navigationController,有时我不能,并且必须去我的应用程序委托的属性来获取它,就像我在这里做的一样。任何暗示为什么这将是非常有用的。

回答

0

试试这个:

EverWondrAppDelegate *del = (EverWondrAppDelegate *)[UIApplication sharedApplication].delegate; 

至于你的第二个问题:不知道为什么会发生。

+0

这样做。谢谢。 – 2010-06-14 17:36:44

相关问题