将 uiviewcontroller strong 发送到不兼容类型 id 的参数的警告
Posted
技术标签:
【中文标题】将 uiviewcontroller strong 发送到不兼容类型 id 的参数的警告【英文标题】:Warning for sending uiviewcontroller strong to parameter of incompatible type id 【发布时间】:2015-08-20 08:27:20 【问题描述】:我已经设置了这样的委托,我收到了警告。如果我放 WSHelperDelegate,它会静音。但是,在这种情况下,我需要使用 UIVIewController 这样的一般情况,而不是告诉特定的视图控制器。我怎样才能使这个警告静音?
【问题讨论】:
【参考方案1】:你有几个选项可以解决这个问题:
1.
+ (void)request...
// ...
[[NSHelper sharedInstance] getDetailDataWithEntity:[NSString stringWithFormat:@"%@%@", url, articleID] andView:vc.view andDelegate:(UIViewController<WSHelperDelegate> *)vc];
2.
+ (void)requestEditDataWithArticleId:(NSString *)articleId andNavType:(NavTypeCollection)navType andDelegate:(UIViewController<WSHelperDelegate> *)vc
// ...
[[NSHelper sharedInstance] getDetailDataWithEntity:...];
【讨论】:
【参考方案2】:确保控制器符合您正在使用的委托:
例如:
@interface yourController : UIViewController <WSHelperDelegate>
//or <WSHelperProtocol>, whatever it is named.
或者您可以通过以下方式使警告静音:
....andDelegate:(id)vc];
【讨论】:
我没有该代码的接口。它是用 NSObject 类编写的。该函数将从任何地方调用。以上是关于将 uiviewcontroller strong 发送到不兼容类型 id 的参数的警告的主要内容,如果未能解决你的问题,请参考以下文章