代码之家  ›  专栏  ›  技术社区  ›  Nitish

将Swift委托分配给Objective-C对象时出错

  •  0
  • Nitish  · 技术社区  · 5 年前

    这是我的斯威夫特班:

    class MyClass : NSObject {
        public var inAppMessagesController: MPInAppMessagesController!
    
    fun myFunction() {
        self.inAppMessagesController.inAppInteractionDelegate = self    // Error in this line - Cannot assign value of type 'MyClass' to type 'MPInAppMessageControllerDelegate?'
    }
    
    }  
    
    extension MyClass : MPInAppMessageControllerDelegate {
      // Functions 
    }   
    

    如评论中所述,这是一个错误-

    'MPInAppMessageControllerDelegate?'

    在里面 Objective-C MPinApp消息控制器

    @interface MPInAppMessagesController : NSObject
    
    @property (nonatomic, weak, nullable) id <MPInAppMessageControllerDelegate> inAppInteractionDelegate;
    
    @end   
    

    MPInAppMessageControllerDelegate mpinappMessagesControl.h :

    @protocol MPInAppMessageControllerDelegate<NSObject>
    
    // Functions
    
    @end
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   Shehata Gamal    5 年前

    唯一缺少的部分是您需要在桥接文件中包含这个类

    #import "MPInAppMessagesController.h"
    

    SwiftObjc