- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本教程以第二个教程(“教程:串联图”)中创建的项目为基础。您将用到从使用设计模式、使用 Foundation 以及编写自定类中学到的知识,在 ToDoList 应用程序中添加对动态数据的支持。
本教程讲述了以下操作:
使用常见的 Foundation 类
创建自定数据类
实现委托和数据源协议
在视图控制器之间传递数据
完成本教程中的所有步骤后,您的应用程序外观大致是这样的:
创建数据类
现在就开始吧,请在 Xcode 中打开您的现有项目。
目前,使用串联图的 ToDoList 应用程序有一个界面和一个导航方案。现在,是时候使用模型对象来添加数据储存和行为了。
应用程序的目标在于创建一个待办事项列表,因此首先您将创建一个自定类 XYZToDoItem 来表示单个待办事项。您应该记得,XYZToDoItem 类已经在编写自定类中讨论过。
创建 XYZToDoItem 类
1.选取“File”“New”“File”(或按下 Command-N)。
这时将会出现一个对话框,提示您为新文件选取模板。
2.从左侧的 iOS 下方选择“Cocoa Touch”。
3.选择“Objective-C Class”,并点按“Next”。
4.在“Class”栏中,在 XYZ 前缀后键入 ToDoItem。
5.从“Subclass of”弹出式菜单中选取“NSObject”。
如果您完全按照本教程操作,那么在这个步骤之前,“Class”标题可能是 XYZToDoItemViewController。选取 NSObject 作为“Subclass of”后,Xcode 会知道您创建了一个正常的自定类,并移除了它先前添加的 ViewController 文本。
6.点按“Next”。
7.存储位置默认为您的项目目录。此处无需更改。
8.“Group”选项默认为您的应用程序名称“ToDoList”。此处无需更改。
9.“Targets”部分默认选定您的应用程序,未选定应用程序的测试。好极了,这些都无需更改。
10.点按“Create”。
XYZToDoItem 类很容易实现。它具有项目名称、创建日期,以及该项目是否已完成等属性。继续将这些属性添加到 XYZToDoItem 类接口。
配置 XYZToDoItem 类
1.在项目导航器中,选择 XYZToDoItem.h。
2.将以下属性添加到该接口,使声明如下所示:
@interfaceXYZToDoItem:NSObject@propertyNSString*itemName;@propertyBOOLcompleted;@property(readonly)NSDate*creationDate;@end检查点:通过选取“Product”“Build”(或按下 Command-B)来生成项目。尽管该新类尚未实现任何功能,但是生成它有助于编译器验证任何拼写错误。如果发现错误,请及时修正:通读编辑器提供的警告或错误,然后回顾本教程中的说明,确保所有内容与此处的描述相符。
载入数据
您现在有一个类,可以用它作为基础来为单个列表项目创建并储存数据。您还需要保留一个项目列表。在 XYZToDoListViewController 类中跟踪此内容较为合适,视图控制器负责协调模型和视图,所以需要对模型进行引用。
Foundation 框架有一个 NSMutableArray 类,很适合跟踪项目列表。此处必须使用可变数组,这样用户就可以将项目添加到数组。因为不可变数组 NSArray 在其初始化后将不允许添加项目。
要使用数组,您需要声明并创建它。可以通过分配并初始化数组来完成。
要分配并初始化数组
1.在项目导航器中,选择 XYZToDoListViewController.m。
由于项目数组是表格视图控制器的实现细节,所以应该在 .m 文件中进行声明,而不是 .h 文件。此操作可让项目数组成为您自定类的私有数组。
2.将以下属性添加到接口类别中,它是由 Xcode 在您的自定表格视图控制器类中创建的。声明应该是这样的:
@interfaceXYZToDoListViewController()@propertyNSMutableArray*toDoItems;@end3.在 viewDidLoad 方法中分配并初始化 toDoItems 数组:
-(void)viewDidLoad{[superviewDidLoad];self.toDoItems=[[NSMutableArrayalloc]init];}viewDidLoad 的实际代码中有一些附加行被注释掉了,那些行是 Xcode 创建 XYZListViewController 时插入的。保留与否都没有影响。
现在,您已经拥有了一个可以添加项目的数组。
您可能关注的文档
- 玩具车底盘及传动转向设计:.doc
- 玩具设计报告书:.doc
- 万t熔剂石灰岩生产线项目可研报告:.doc
- 别墅物业管理方案!.doc
- 别墅营销策划案例!.doc
- 万邦连锁商超物流配送方案:.doc
- 宾馆基础质量验收自评报告!.doc
- 万吨加氢裂化装置施工组织设计:.doc
- 万吨炼油减压蒸馏装置设计:.doc
- 病理生理学试题与答案本科!.doc
- 国际标准 IEC 60939-2-2:2004 EN_D Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference suppression - Filters for which safety tests are required (safety.pdf
- 国际标准 IEC 60670-23:2006 EN-FR Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求.pdf
- 国际标准 IEC 60670-23:2006 EN-FR 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求 Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures.pdf
- 2024版完整的货物运输合同书.doc
- 2024版无财产的离婚协议书书模板.doc
- 2024版委托融资租赁合同书书.doc
- 2024版汪怡的离婚协议书书.doc
- 2024版委托活动代理服务协议书书.doc
- 2024版挖掘机租赁合同书范本最新.doc
- 2024版退款协议书书.doc
最近下载
- 2022-2023学年湖北省鄂州市七年级下学期期末数学试卷(含答案解析).docx
- 成都市七中育才学校初一新生分班(摸底)语文考试模拟试卷(10套试卷带答案解析).pdf VIP
- 玄隐遗密(含黄帝内经).docx
- 幼儿园区域环境—语言区环境创设(幼儿园环境创设课件).pptx VIP
- 整体租赁底商运营方案(技术方案).docx
- 脑梗塞后遗症病人护理查房ppt课件.pptx
- 【上海市】医疗服务收费标准.pdf
- 灭菌方法和无菌操作.ppt
- 华中农业大学2020-2021学年《植物生理学》期末考试试卷(A卷)含参考答案.docx
- 华中农业大学2021-2022学年《植物生理学》期末考试试卷(A卷)含参考答案.docx
文档评论(0)