我将开始开发一个新的 iOS 应用程序并计划实现 MVC 模式。以下是我目前对模型、 View 和 Controller 的理解。
查看 - 负责显示用户界面(例如 xib 文件等...)
Controller - 这将是模型和 View 之间的桥梁。我们可以考虑这个类别下的 View Controller 。此外,我们可以编写一个 NSObject 的子类来进行网络操作(使用 NSURLConnection)。
型号 - 我知道它负责存储将在 View 中显示的数据。但是,它是如何存储的呢?它将是单例类还是应该是具有自定义 init 方法的 NSObject 的普通子类?但是,它将如何持久化数据?如果有人可以用一个清晰的例子来解释这一点,那将非常有帮助。提前致谢!!
最佳答案
模型表示您的应用程序正在使用的数据 .它不一定要对数据持久性做任何事情。
一般来说,您必须考虑在您的应用程序中发挥作用的对象的种类。让我们假设一个简单的待办事项列表应用程序。在这种应用程序中,您的 型号很可能会包含一个任务类(或一些类似的概念)。在 Objective-C 中,您可以创建类,添加一些有意义的属性。在其最基本和最简单的版本中,它可能如下所示:
@interface Task : NSObject
@property (nonatomic, strong) NSDate *creationDate;
@property (nonatomic, strong) NSString *description;
@property (nonatomic ) BOOL done;
@end
然后,在运行时,您可以实例化此类,以便对生成的对象执行某些操作。例如。用户可以将任务标记为
done
.这些对象将存在于操作系统的某个内存区域中,称为堆。存在于堆上的数据不会被持久化。为了持久化数据,您必须使用数据持久化框架,例如
Core Data
, Realm
或原始 SQLite
.此外,对模型类使用单例也没有多大意义,因为您通常希望实例化它们的多个对象。另一方面,单例的特点是它在您的应用程序的生命周期内仅实例化一次。这与模型层的目的相矛盾。
关于ios - 如何在 iOS 应用程序中设计 Model 类(遵循 MVC 模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29561481/