Ios swift中的框架代表

Ios swift中的框架代表,ios,swift,xcode,frameworks,Ios,Swift,Xcode,Frameworks,嗨,我创建了一个带有委托的简单框架,用于将值返回到我的主应用程序 我采取了以下步骤: 在Xcode中创建了一个框架 将协议创建为公共协议 在主应用程序项目中导入我的框架并成功集成我的协议 但无法从框架中获取价值 框架内 public protocol MyDataSendingDelegateProtocol: NSObject { func sendDataToFirstViewController(myData: String) } public var delegate: MyDataSe

嗨,我创建了一个带有委托的简单框架,用于将值返回到我的主应用程序

我采取了以下步骤:

  • 在Xcode中创建了一个框架
  • 将协议创建为公共协议
  • 在主应用程序项目中导入我的框架并成功集成我的协议
  • 但无法从框架中获取价值
  • 框架内

    public protocol MyDataSendingDelegateProtocol: NSObject {
    func sendDataToFirstViewController(myData: String)
    }
    public var delegate: MyDataSendingDelegateProtocol? = nil
    
    将值表单框架发送为

    delegate?.sendDataToFirstViewController(myData: "hello world")
    
    在主应用程序中

    class ViewController: UIViewController, MyDataSendingDelegateProtocol{
    
    func sendDataToFirstViewController(myData: String) {
        print("from frame work \(myData)")
       }
    }
    
    访问我的框架VC

    public class OOB_View : UIViewController {
    
    public func registraionView() -> UIViewController {
        let storyboard = UIStoryboard.init(name: "main", bundle: Bundle(for: oobRegVc.self))
        let homeVC = storyboard.instantiateViewController(withIdentifier: "view") as! oobRegVc
        return homeVC
       }
     }
    

    框架中修改
    注册视图
    方法,以接受
    MyDataSendingDelegateProtocol
    类型的
    委托
    参数,然后将其设置为
    homeVC的
    委托
    ,即

    public class OOB_View : UIViewController {
        public func registraionView(delegate: MyDataSendingDelegateProtocol) -> UIViewController {
            let storyboard = UIStoryboard.init(name: "main", bundle: Bundle(for: oobRegVc.self))
            let homeVC = storyboard.instantiateViewController(withIdentifier: "view") as! oobRegVc
            homeVC.delegate = delegate
            return homeVC
        }
    }
    
    现在,在您的主应用程序中,调用方法
    registrationview(委托:)
    ,如下所示

    let oobClass = OOB_View()
    let x = oobClass.registraionView(delegate: self)
    x.modalPresentationStyle = .fullScreen
    self.present(x, animated: true, completion: nil)
    

    上面的代码必须在
    ViewController
    的某个地方,符合
    MyDataSendingDelegateProtocol

    添加相关代码。@PGDev现在检查我的问题您在哪里将代理设置为ViewController?我不知道在哪里设置..帮助我您如何访问框架的方法?必须存在委托存在的类,对吗?