2
iOS 앱을 개발할 때 MVP 아키텍처를 따르고 있습니다. onViewDidLoad()에서 일부 데이터를 반환하는 웹 서비스를 호출하고 해당 데이터를 테이블 뷰로 표시하는 앱이 상당히 간단합니다.델리게이트 메소드의 메모리 누수
의 ViewController :
class A : UIViewController{
var presenter : MyPresenter?
override func viewDidLoad() {
presenter = MyPresenter(delegate:self)
presenter.callWS()
}
}
extension A : Mydelegate{
func onSuccess(){
//this doesnt allow my viewcontroller to deint
tablview.delegate=self
tableview.datasource=self
tableview.reloadData()
}
}
protocol MyDelegate : class{
func onSuccess()
}
class MYPresenter {
weak var delegate : MyDelegate?
init(MyDelegate) {
self.delegate=delegate
}
func callWS(){
delegate.onSuccess()
}
}
내의 ViewController가 은 알려 주시기 바랍니다 deint 수 없습니다 MyDelegate이 onSucces 내가 뭘 잘못하고 있는가?
실제 코드를 제공 할 수 있습니까? 이 단순화 된 예제에서 일부 세부 사항은 생략되었을 수 있습니다. –
@ Mr.Hedgehog 그것도 같은 선생님이지만 onSuccess()에서 테이블 뷰 파트에 주석을 달면 메모리 누수가 발생하지 않습니다. –