2
iOSアプリケーションを開発するためのMVPアーキテクチャに従っています。onViewDidLoad()はデータを返すWebサービスを呼び出し、そのデータをテーブルビューで表示します。デリゲートメソッドでのメモリリーク
の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()からテーブルビューの部分をコメントするとメモリリークは発生しません –