Ios 是否可以重写超级属性/方法,使其在swift中成为私有的?
我正在编写一个UITextView子类,并将UITextView委托设置为self。我不希望客户端能够设置我的委托(因为否则子类将变得毫无意义)。有没有一种方法可以使Ios 是否可以重写超级属性/方法,使其在swift中成为私有的?,ios,swift,Ios,Swift,我正在编写一个UITextView子类,并将UITextView委托设置为self。我不希望客户端能够设置我的委托(因为否则子类将变得毫无意义)。有没有一种方法可以使委托属性私有?我认为您无法覆盖超类中声明的属性的可见性。但是,您可以覆盖子类中的委托属性本身,以防止调用方在运行时设置委托: override var delegate: UITextViewDelegate? { get { return super.delegate } set { // eith
委托
属性私有?我认为您无法覆盖超类中声明的属性的可见性。但是,您可以覆盖子类中的委托
属性本身,以防止调用方在运行时设置委托:
override var delegate: UITextViewDelegate? {
get { return super.delegate }
set {
// either ignore this, or raise an error
}
}
然后,在子类中将delegate设置为self时,请确保使用super
:
super.delegate = self