私はdelegate
を迅速に処理しています。私は固定された3つの行数を持つテーブルビューを持っており、すべての行はセルのためにseprate .xib
を持っています。DelegateメソッドがTableViewCellから呼び出されていない
私はセルに入っているデータに基づいて各セルの高さを調整しています。だから、tableView
が前にロードされ、セルがロードされてから、をUITableViewCell
クラスに定義しました。
クラスCalenderTimeTableViewCell
の上に私がしました:var myDelegate: ReloadingTable?
をし、この方法で私はself.myDelegate?.updateTableView()
を呼んでいる(Alamofireを使用して)データを取得しています:
protocol ReloadingTable {
func updateTableView()
}
を、このクラスの中にawakeFromNib()
の上に私がしました。 viewController
で
とは、私はすべてのtableView
最初は、私はクラスReloadingTable
を拡張しましたし、このクラスでは私がしました:
func updateTableView() {
tableView.reloadData()
}
ブレークポイントを適用することにより、コードがself.myDelegate?.updateTableView()
ではなくして手に入れましたviewController
updateTableView
メソッドが呼び出されていません。
にcellForRowAt機能アサイン対象のクラスで
をmyDelegateするために割り当てる必要がコメントしたようにどこmyDelegate' 'へのターゲットクラスを割り当てていますか? – vadian
デリゲートをViewControllerとして設定する必要があります。デバッグポイントでself.myDelegateの値をチェックすると、それはゼロになります。 –
このリンクに進むhttp://stephenradford.me/creating-a-delegate-in-swift/ – gaurang