首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用委托获取数组

问无法使用委托获取数组
EN

Stack Overflow用户
提问于 2020-05-08 07:44:59
回答 1查看 38关注 0票数 0

在点击我的viewcontrollerA中的一个按钮,我要去viewcontrollerB。我从viewcontrollerB去viewcontrollerC。以及我在viewcontrollerC中的图像数组,我想把它带回到viewcontrollerA。

我就是这样和代表们一起努力实现这一目标的。

代码语言:javascript
复制
class ViewControllerA: UIViewController,ImageAssetsProtocol {

        override func viewWillAppear(_ animated: Bool) {
            var vc = ViewControllerC()
            vc.delegate = self

        }

     //This below method doesn’t get called
     func sendImageAssets(myData: [MyImageAsset]) {
           print(myData)
       }

}
------------------------------------------------------------------------------------------

class ViewControllerC: UIViewController {

protocol ImageAssetsProtocol {
    func sendImageAssets(myData: [MyImageAsset])
}
 weak var imagePreviewDelegate: ImagePreviewDelegate?



//ViewControllerC gets an array of images from ViewcontrollerB. I’m passing that array to ViewControllerA

  override func viewWillDisappear(_ animated: Bool) {

        self.delegate?.sendImageAssets(myData: selectedAssets)
    }

}

但是这样做后,我无法得到ViewControllerA中的图像数组.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 07:52:41

以下是您如何进行:

  1. 将VC1与ImageAssetsProtocol相结合,并实现了它的sendImageAssets(myData:)方法。

类VC1: UIViewController,ImageAssetsProtocol { func openVC2() { let vc2 =vc2 "VC3") as!VC3 vc2.委托= self } func sendImageAssets(myData: MyImageAsset) { print(myData) }

  • In VC2创建一个ImageAssetsProtocol?类型的delegate,并在呈现VC1 VC2时设置vc2.delegate = self

类VC2: UIViewController { var委托: ImageAssetsProtocol?函数openVC3() { let vc3 =vc3 "VC3")!VC3 vc3.agent= self.delegate }

  • In VC3创建一个ImageAssetsProtocol?类型的delegate,并在表示VC2 VC3时设置vc3.delegate = self。在sendImageAssets(myData:)中调用委托方法viewWillDisappear(_:)。

类VC3: UIViewController {弱var委托: ImageAssetsProtocol?覆盖func viewWillDisappear(_动画: Bool) { self.delegate?.sendImageAssets(myData: selectedAssets) }

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61674386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档