理解iOS中的MVC设计
我正在努力了解iOS版MVC,我想确保我所做的是适当的 假设我有一个简单的类,它包含一个NSString的NSMutableArray*理解iOS中的MVC设计,ios,oop,design-patterns,model-view-controller,model,Ios,Oop,Design Patterns,Model View Controller,Model,我正在努力了解iOS版MVC,我想确保我所做的是适当的 假设我有一个简单的类,它包含一个NSString的NSMutableArray* @interface SimpleClass : NSObject @property (nonatomic, strong) NSMutableArray *names; @end 这就是我的模型。是吗 假设我想写一个按字母顺序排列这些名字的方法。这个方法应该是模型中的方法,还是在数据控制器类中单独完成?对我来说,在模型中使用这种方法更有意义。因此,模
@interface SimpleClass : NSObject
@property (nonatomic, strong) NSMutableArray *names;
@end
这就是我的模型。是吗
假设我想写一个按字母顺序排列这些名字的方法。这个方法应该是模型中的方法,还是在数据控制器类中单独完成?对我来说,在模型中使用这种方法更有意义。因此,模型进行实际排序,控制器是初始化排序的地方
听起来对吗
但是,由于数据排序是视图需要显示的东西,所以这真的是模型的基本行为吗 让我逐一澄清你的疑问 问题:假设我有一个简单的类,其中包含NSString的NSMutableArray*
@interface SimpleClass : NSObject
@property (nonatomic, strong) NSMutableArray *names;
@end
这就是我的模型。是吗
答案:是的,这是一个模型类,因为它在世界上只用于“处理数据”这一单一目的
问题:假设我想写一个按字母顺序排列这些名称的方法。这个方法应该是模型中的方法,还是在数据控制器类中单独完成?对我来说,在模型中使用这种方法更有意义。所以模型进行实际排序,控制器是初始化排序的地方
回答:这种方法应该在考虑范围内,因为它只是根据您的需要对数据进行排序,将来某一天您可能需要以其他方式对这些数据进行排序。或者您可能还需要为其他设备开发此应用程序。由于其他一些要求,您可能需要以其他方式对其进行排序。若您将在模型类或控制器类中执行此操作,那个么您将限制代码的可伸缩性,所以它应该在视图类中
控制器将实现所有业务逻辑
我希望这有助于如果我们想在iOS中应用MVC,我们有两个部分,特别是模型和ViewController,在iOS中视图和控制器是组合的。如果您愿意,您可以创建单独的视图和控制器 现在,在您的问题中,您使用NSMutable数组创建了一个类,该类将是您的模型类 现在,您说您希望对数据进行排序,而不是在iOS中的viewContoller上进行排序 视图和控制器是组合的,所以您可以对控制器部件中的数据进行操作,并在视图上显示结果 但是,如果您想为显示操作创建单独的视图,可以将UIView装箱并添加到视图控制器中 比如,如果您创建的应用程序已经处理了web服务,那么您就可以执行类似的操作
这可能会给您带来更多帮助。视图显示
已排序的数据
,排序过程是controller
很酷。谢谢如果我们有一个三维物体,比如一个立方体呢。然后,如果我们将立方体平移或旋转一定量,我们会在模型中这样做吗,因为模型数据本身正在变化?还是在控制器中操纵模型?