无法覆盖超类

时间:2018-05-23 08:55:18

标签: ios swift

我试图覆盖名为DKImagePickerControllerDefaultUIDelegate的类的两个方法。

我能够覆盖以下方法。

func layoutForImagePickerController(_ imagePickerController: DKImagePickerController) -> UICollectionViewLayout.Type

但我无法覆盖这一个。

func imagePickerController(_ imagePickerController: DKImagePickerController, didSelectAssets: [DKAsset])

DKImagePickerControllerDefaultUIDelegate是我尝试子类的链接。

Here are the methods I want to override.

以下是我尝试覆盖该方法时遇到的问题。

Issue I am getting when I tried to override.

1 个答案:

答案 0 :(得分:0)

你的班级没有超级班级。所以覆盖方法不起作用。我尝试了你给定的库,它不会按照你给定的方式工作。为了基本的理解,我在这里创建了相同的模拟结构,以便您轻松理解。

protocol ATDelegate {
func handleUIChange() -> String
func didSelectAssets()
}

class ATCustomUIDelegate:ATDelegate{


func handleUIChange() -> String {
    return ""
}

func didSelectAssets() {

}
}

class ATOverrideCustomUIDelegate:ATCustomUIDelegate{

override func didSelectAssets() {

}
}

同样的情况将适用于DKImagePickerControllerUIDelegate。