【发布时间】:2015-01-16 16:42:11
【问题描述】:
在这里您可以看到我已将子类 textView 的委托设置为自身:
import Foundation
class ImageCaptionTextView: UITextView, UITextViewDelegate {
override func awakeFromNib() {
super.awakeFromNib()
delegate = self
}
现在在我的控制器中,我的委托方法不起作用。我在 ImageCaptionTextView 子类中使用所有 ImageCaptionTextView 委托方法,而不是它们以前的控制器类。
现在我需要将一些代码添加到与控制器相关的 textViewDidEndEditing ImageCaptionTextView 委托方法,但由于 ImageCaptionTextView 的委托方法设置在 ImageCaptionTextView 子类中,因此在控制器中添加的新代码将不起作用。
我开始怀疑我是否只是将事情复杂化,是否应该将尽可能多的代码移回控制器。我只是觉得它让我的事情变得更干净了。
所以我的问题是:
我如何引用 ImageCaptionTextView 的父控制器,而不是将 ImageCaptionTextView 的委托设置为自身,我可以将其设置为控制器?
感谢您的宝贵时间。
【问题讨论】:
标签: objective-c cocoa-touch swift uiviewcontroller delegates