初始化&#39; ...... * __强&#39;表达不兼容的类型&#39; id <uiapplicationdelegate> _Nullable&#39;

时间:2016-12-25 21:58:56

标签: objective-c xcode

我刚刚更新了我的Xcode副本,发现我现在有很多警告。我正在努力让下面的一个整理出来:

ObAppDelegate *appdelegate = [[UIApplication sharedApplication]delegate];

导致此警告:

  

使用表达式初始化ObAppDelegate *__strong   不兼容的类型id<UIApplicationDelegate> _Nullable

有人能指出我正确的方向来修复这个警告吗?有关信息,这是问题行之前使用的相关代码:

- (NSManagedObjectContext *) managedObjectContext {
    return [(ObAppDelegate *) [[UIApplication sharedApplication] delegate] managedObjectContext];
}

1 个答案:

答案 0 :(得分:20)

你有:

ObAppDelegate *appdelegate = [[UIApplication sharedApplication]delegate];

这会发出警告:

  

使用不兼容类型ObAppDelegate *__strong

的表达式初始化id<UIApplicationDelegate> _Nullable

重写为:

ObAppDelegate *appdelegate = (ObAppDelegate*)[[UIApplication sharedApplication]delegate];

这将消除警告。