【发布时间】:2018-01-04 04:32:00
【问题描述】:
我有一个自定义文本字段类“loginTextFields”。我最近注意到我使用这些文本字段的视图控制器没有被释放,我怀疑它与这些文本字段有关......非常感谢任何指导:) 我查了很多stackoverflow 帖子,但没有一个真正帮助我。
txt字段类:
class LoginTextFields: UITextField, UITextFieldDelegate {
override init(frame: CGRect) {
super.init(frame: frame)
delegate = self
setConstraints()
}
}
视图控制器:
class LoginController: UIViewController {
@IBOutlet weak var usernameTextField: LoginTextFields!
@IBOutlet weak var passwordTextField: LoginTextFields!
}
我猜到并在 loginTextfield 类中添加了一个“删除”方法,试图在用户离开视图控制器时将所有内容设置为 nil(怀疑委托可能与它没有解除分配有关) .我希望这会删除任何强引用,但它没有工作
func delete() {
self.delegate = nil
self.text = nil
self.leftSideIcon.removeFromSuperview() //small icon inside text field
self.removeFromSuperview()
}
【问题讨论】:
-
不要猜测问题出在哪里,而是使用 Instruments 看看问题到底出在哪里。
标签: ios swift delegates uitextfield