Ios 在UITableViewCell子类中处理UIButton touch事件会违反MVC吗?
有一个Ios 在UITableViewCell子类中处理UIButton touch事件会违反MVC吗?,ios,objective-c,uitableview,model-view-controller,uibutton,Ios,Objective C,Uitableview,Model View Controller,Uibutton,有一个UITableViewCell子类,里面有一个UIButton。按下按钮时应进行网络呼叫 问题是我应该在控制器中设置操作,还是可以在UITableViewCell子类中设置操作?第二个选项会违反MVC模式吗?第二个选项肯定会违反MVC模式。ViewController就像模型、视图之间的粘合剂,包含所有业务逻辑。 ViewController应该接收操作,然后进行api调用,并将格式化数据放入视图中 通常在我的项目中,我总是尝试将网络代码移动到一组单独的类中,这些类可以处理从API获取数据
UITableViewCell
子类,里面有一个UIButton
。按下按钮时应进行网络呼叫
问题是我应该在控制器中设置操作,还是可以在
UITableViewCell
子类中设置操作?第二个选项会违反MVC模式吗?第二个选项肯定会违反MVC模式。ViewController就像模型、视图之间的粘合剂,包含所有业务逻辑。
ViewController应该接收操作,然后进行api调用,并将格式化数据放入视图中
通常在我的项目中,我总是尝试将网络代码移动到一组单独的类中,这些类可以处理从API获取数据、从JSON/XML转换为模型对象并格式化它们(从字符串日期对象到NSDate对象等)。然后我可以在我的ViewController中调用simple looking方法并填充视图/tableview单元格
另一方面,
如果你有时间,你可以看看越来越流行的MVVM。
这里有一些链接(从非常棒的SprSynthesis开始):
以及一些示例应用程序:
通过与MVVM的比较,这有助于我更深入地理解MVC
不要害怕使用ReactiveCocoa,在没有它的情况下,您总是可以采用MVVM,但是值得一看。(它的学习曲线非常陡峭,我仍然觉得自己像个白痴)
还有一篇关于iOS实现的设计模式的文章:
第二个选项肯定会违反MVC模式。ViewController就像模型、视图之间的粘合剂,包含所有业务逻辑。 ViewController应该接收操作,然后进行api调用,并将格式化数据放入视图中 通常在我的项目中,我总是尝试将网络代码移动到一组单独的类中,这些类可以处理从API获取数据、从JSON/XML转换为模型对象并格式化它们(从字符串日期对象到NSDate对象等)。然后我可以在我的ViewController中调用simple looking方法并填充视图/tableview单元格 另一方面, 如果你有时间,你可以看看越来越流行的MVVM。 这里有一些链接(从非常棒的SprSynthesis开始): 以及一些示例应用程序: 通过与MVVM的比较,这有助于我更深入地理解MVC 不要害怕使用ReactiveCocoa,在没有它的情况下,您总是可以采用MVVM,但是值得一看。(它的学习曲线非常陡峭,我仍然觉得自己像个白痴) 还有一篇关于iOS实现的设计模式的文章:
您可以从子类将操作委托给控制器,这样它将在控制器中处理,清除,并且不会违反MVC。您可以从子类将操作委托给控制器,这样它将在控制器中处理,清除,并且不违反MVC。我不建议在UITableViewCell中设置操作。如果您需要等待答案,并且电池需要回收,您会怎么做?我将在控制器中设置操作。此控制器应调用另一个负责执行web调用的类。我不建议在UITableViewCell中设置该操作。如果您需要等待答案,并且电池需要回收,您会怎么做?我将在控制器中设置操作。此控制器应调用另一个负责执行web调用的类