如何设置UILabel
的文本而不引起memory leak?
我将我的UILabel声明为weak IBOutlet
,并且没有对其的strong
引用,但是,这会导致内存泄漏,显示在Instrument
中:
mylabel.text = "text"
N.B。
标签是UICollectionViewCell
的一部分,并与ViewModel
一起使用。
这是我设置UILabel's
文本的地方:
override var item: ViewModelItem? {
didSet {
guard let item = item as? ViewModel else {
return
}
mylabel.text = "text"
}
}
代码被调用两次,因为我必须dequeue
设置单元格并设置内容只是为了获得单元格的高度,但是考虑到mylabel
被调用多少次,这无关紧要声明为weak
。