在我的UITableViewController中,我为DataSource设置了一个外部类。如下
class HomeViewDataSource: NSObject, UITableViewDataSource {
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(myCellIdentifier, forIndexPath: indexPath)
cell.delegate = //Should I set this to the view controller?
return cell
}
}
正如您所看到的,我有一个可重用的单元格,我想为其设置委托。在单元格中,我有一个触发UITableViewController上的事件的按钮。现在,我已将单元格的委托设置为我的UITableViewController,以便它可以执行网络调用。我不相信我是以正确的MVC格式这样做的。
UITableViewController中的网络调用使用UITableViewDataSource中数组的属性。
有什么更好的方法可以做到这一点?
答案 0 :(得分:0)
我有另一个想到这个,并决定尝试使用一个闭包。 我就是这样做的。
<div class="modal" id="exibirPais" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">
<span class="glyphicon glyphicon-search"></span>
<label class="control-label">Exibir</label>
</h4>
</div>
<div class="modal-body">
@Html.Partial()
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger">Fechar</button>
</div>
</div>
</div>
</div>
并在UITableViewDataSource
中//MyCellClass: UITableViewCell
@IBAction func buttonPressed(sender:UIButton) {
buttonNetworkCall?(self)
}