NSE*_*rer 3 model-view-controller cocoa-touch model objective-c ios
我真的无法在MVC中获得模型对象的悬念.我想知道为什么我们不能只使用数组和字典以及字典数组?
我知道它们代表了我的其他类操作和使用的"数据".但他们应该构建的正确方法是什么?假设我有一个我想读的plist并在表视图中显示.我可以直接将它加载到我的viewDidLoad方法中的数组属性中,然后使用它,对吧?我为什么要使用Model类,我将如何构建它?
此外,任何解释这一点的资源/博客链接将不胜感激!
你绝对可以使用字典和数组 - 将它们用作数据模型的一部分(或全部)没有任何问题.Core Data的NSManagedObject非常像字典.但有时您希望模型对象不仅仅是存储数据 - 您可能还希望它们了解各种数据位如何相互关联,对数据进行操作等等.
考虑一下如何在数据模型中表示Person.可能是一本字典,对吧?使用firstName,lastName,middleName,address,phone,email,dateOfBirth等密钥...如果您使用普通的旧字典,可变或不变,您只需为每个密钥存储适当的值即可.如果这真的是你所需要的,那就完成了.
另一方面,您可以从这些字段中获取大量其他信息,而无需存储额外数据.如果您创建自定义Person类,则可以为其指定fullName,age,initials,monogram和vCard等键.自定义类可以为每个操作存储信息的方法提供适当的值.例:
- (NSString*)fullName
{
return [NSString stringWithFormat:@"%@ %@ %@", self.firstName, self.middleName, self.lastName];
}
Run Code Online (Sandbox Code Playgroud)
这只是一个非常简单的例子.也许您的应用程序管理一组仓库的整个库存.在这种情况下,您可能需要代表零件,箱柜,调色板,位置,供应商,目的地,订单,发票,叉车,操作员等的类.当有人从箱子中挑选零件时,您需要知道箱子知道剩余多少部分,如果数量小于某个阈值,则发送通知.该通知可能会触发一个事件,告诉叉车获取该类型零件的另一个调色板并将其交付到垃圾箱.一旦拾取,零件应从仓柜转移到订单.当然,订单应该知道如何生成适当的发票.等等.所有这些逻辑都可以成为模型的一部分.
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |