Ios 自定义代理在swift中获得零

Ios 自定义代理在swift中获得零,ios,swift,delegates,Ios,Swift,Delegates,我正在尝试使用swift中的TLPhotoControllerDelegate创建自定义代理。但是,没有通过回调调用doSomething方法。似乎是那个代表?。TLPhotoControllerDelegate()不会激发类B TLPhotoControllerDelegate方法。提前谢谢 Class A: protocol TLPhotoControllerDelegate { func addimageCollectionView(image:UIImage) } clas

我正在尝试使用swift中的TLPhotoControllerDelegate创建自定义代理。但是,没有通过回调调用doSomething方法。似乎是那个代表?。TLPhotoControllerDelegate()不会激发类B TLPhotoControllerDelegate方法。提前谢谢

Class A: 
protocol TLPhotoControllerDelegate {
    func addimageCollectionView(image:UIImage)
}


class TLPhotoController: TLBaseViewController  {

    // Mark: Properties
    var delegate:TLPhotoControllerDelegate?

    override func viewDidLoad() {
        super.viewDidLoad()
    }   

    @IBAction func capturePhoto(sender: TLButton) {
        delegate.addimageCollectionView(image)
    }
}

Class B:

class TLPatientAlbumCollectionViewController:TLPhotoControllerDelegate {

    var photoController:TLPhotoController?

    override func viewDidLoad() {
        photoController?.delegate = self

        super.viewDidLoad()
        loadData()  
    }   

    func addimageCollectionView(image: UIImage) {

    }
}

从您评论中的代码来看,您似乎没有在任何地方实例化
TLPhotoController

您的代码可能如下所示,例如:

func viewDidLoad() {
    super.viewDidLoad()

    photoController = TLPhotoController() // Or however you want to initialise
    photoController?.delegate = self
}
我还建议在考虑调用代码时插入几个断点,以查看变量的状态,并查看发生了什么

编辑

在chat中澄清问题后,问题是没有设置代理。建议的解决方案是在推送视图控制器上的
prepareforsgue:
期间设置它。

似乎您没有初始化TLPatientAlbumCollectionViewController类的photoController属性。您应该在viewDidLoad方法中初始化它。

类TLPatientAlbumCollectionViewController:TLPhotoControllerDelegate{var photoController:TLPhotoController?重写func viewDidLoad(){photoController?.delegate=self super.viewDidLoad()loadData()}func addimageCollectionView(image:UIImage){}请在原始问题中添加任何其他代码作为编辑,而不是将其作为注释添加。我已经初始化了,但仍然没有收到calledOk,您是否介意使用最新版本更新问题中的代码(注释中的代码)。我这样问是因为在你发布的代码中,不清楚它在哪里初始化。对不起,你能在问题中更新它而不是我的答案吗,谢谢。photoController=TLPhotoController()但它仍然不是callingAgain,请更新你问题中的代码而不是我的答案。