我了解可以在故事板中以编程方式或使用笔尖创建自定义UITableViewCell
。我也明白,任何与UI无关的逻辑都应该在控制器中遵循MVC(模型视图控制器)规则。
在我的情况下,我有一个UITableViewCell
,它显示用户信息,如个人资料图片和用户名。点击用户名会执行IBAction
并将用户带到相应的个人资料视图。我还在单元格中有一个执行服务器API请求的Follow和Unfollow UIButton
。为了在创建单元格时坚持MVC规则,我将目标添加到IButton
并处理包含TouchUpInside
中的UIViewController
事件。
我想在我的应用程序中的整个视图中重用此单元格,但不需要每次都保持创建目标。
故事板也不允许在没有UITableViewCells
作为容器的情况下创建UIViewTableViewController
,这很痛苦。我可以在故事板中使用混合笔尖吗?
创建单元格并将功能添加到UITableViewCell的适当方法是什么?
答案 0 :(得分:1)
当您在storyboard/xibs
时,您不需要每次都在代码中添加targets
。您可以将IBAction
引导至xib
。然后在tableView:cellForRowAtIndexPath:
方法中根据单元格的indexPath
设置按钮的标记。
或者,您可以创建自定义单元类(继承自UITableViewCell
)并在该类中实现按钮操作。然后,您可以通过委托将消息传递给控制器。
如果您想在不同的视图中重复此单元格,那么最好的办法是创建一个单独的类,其中包含xib
,而不是controller
内的特定storyboard
。