【问题标题】:Warning for sending uiviewcontroller strong to parameter of incompatible type id将 uiviewcontroller strong 发送到不兼容类型 id 的参数的警告
【发布时间】:2015-08-20 08:27:20
【问题描述】:

我已经设置了这样的委托,我收到了警告。如果我放 WSHelperDelegate,它会静音。但是,在这种情况下,我需要使用 UIVIewController 这样的一般情况,而不是告诉特定的视图控制器。我怎样才能使这个警告静音?

【问题讨论】:

    标签: ios objective-c uiviewcontroller delegates


    【解决方案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 类编写的。该函数将从任何地方调用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多