将 uiviewcontroller strong 发送到不兼容类型 id 的参数的警告
Warning for sending uiviewcontroller strong to parameter of incompatible type id
我已经像这样设置了委托,但收到了警告。如果我放置 WSHelperDelegate,它将静音。但是,在这种情况下,我需要使用像 UIVIewController 这样的一般情况,而不是告诉特定的视图控制器。我怎样才能消除这个警告?
确保控制器符合您正在使用的委托:
例如:
@interface yourController : UIViewController <WSHelperDelegate>
//or <WSHelperProtocol>, whatever it is named.
或者您可以通过以下方式消除警告:
....andDelegate:(id)vc];
这里有几个选项可以解决这个问题:
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:...];
}
我已经像这样设置了委托,但收到了警告。如果我放置 WSHelperDelegate,它将静音。但是,在这种情况下,我需要使用像 UIVIewController 这样的一般情况,而不是告诉特定的视图控制器。我怎样才能消除这个警告?
确保控制器符合您正在使用的委托:
例如:
@interface yourController : UIViewController <WSHelperDelegate>
//or <WSHelperProtocol>, whatever it is named.
或者您可以通过以下方式消除警告:
....andDelegate:(id)vc];
这里有几个选项可以解决这个问题:
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:...];
}