具有自定义逻辑的可重用UITableViewCell

时间:2014-01-29 13:14:50

标签: ios iphone objective-c uitableview

我了解可以在故事板中以编程方式或使用笔尖创建自定义UITableViewCell。我也明白,任何与UI无关的逻辑都应该在控制器中遵循MVC(模型视图控制器)规则。

在我的情况下,我有一个UITableViewCell,它显示用户信息,如个人资料图片和用户名。点击用户名会执行IBAction并将用户带到相应的个人资料视图。我还在单元格中有一个执行服务器API请求的Follow和Unfollow UIButton。为了在创建单元格时坚持MVC规则,我将目标添加到IButton并处理包含TouchUpInside中的UIViewController事件。

我想在我的应用程序中的整个视图中重用此单元格,但不需要每次都保持创建目标。 故事板也不允许在没有UITableViewCells作为容器的情况下创建UIViewTableViewController,这很痛苦。我可以在故事板中使用混合笔尖吗?

创建单元格并将功能添加到UITableViewCell的适当方法是什么?

1 个答案:

答案 0 :(得分:1)

当您在storyboard/xibs时,您不需要每次都在代码中添加targets。您可以将IBAction引导至xib。然后在tableView:cellForRowAtIndexPath:方法中根据单元格的indexPath设置按钮的标记。

或者,您可以创建自定义单元类(继承自UITableViewCell)并在该类中实现按钮操作。然后,您可以通过委托将消息传递给控制器​​。

如果您想在不同的视图中重复此单元格,那么最好的办法是创建一个单独的类,其中包含xib,而不是controller内的特定storyboard