build a simple ToDoList app

从这篇文章你将学到怎样构建一个简单的ios app.从一个空的工程模板开始,配置storyboard,配置viewController,创建多个场景并用导航在各个场景之间切换。在这个app中创建了一个新类,ToDoItem,用它来存储一个单个的Item.最后tableView controller来显示数据。通过这个app的学习,能够学到怎样在多个场景之间的切换,怎样用tableview 来显示数据。

1 首先创建一个empty application,删掉在app delegate中用来对window的属性设置的代码

2 创建storyboard,用它来作为app的开发界面,配置storyboard作为你的app默认启动storyboard

3 添加view controller 来管理你的view elements,默认该view controller作为你的app的initial view controller,也就是app启动时第一个scene

4 在view controller上添加text field,用它来获取用户的输入。调整它的大小并放在screen上半部分你认为合适的的位置。用auto layout来使text field在不同的设备在不同方向上都能很好的显示。

5 添加table view controller,来显示数据,并把table viewcontroller 设置为initial view controller,配置table view controller,并添加静态数据,添加导航,配置navigation bar,选择modal segue。要完成view controller的配置还需要一些代码,新建view controller来放置这些代码,由于有两个scene,所以需要新建两个view controller,为每个scene配置一个特定的view controller.添加unwind segue从add to do item 场景导航回To Do list场景。现在需要把unwindToList方法与source view controller的done和cancel button连接起来,此时运行app,可以发现实现了导航

6 创建model,添加一个类ToDoItem,添加属性


7 load data

接下来需要在ToDoListViewController里面新建array去存储item,并且对数组初始化


初始化数组


上图中load initial data方法,一般是从persistent store中load 数据到新建的array中,在这里创建了一些测试数据


8 display data

在这里把ToDoListViewController当作table view的data source,因此,ToDoListViewController 必须实现UITableViewDataSource的协议。配置table view的功能需要实现三种方法:tableView:numberOfSelectionsInTableView:返回一个整形数,表示在table view中有多少个selection

tableView:numberOfRowsInSelection:返回一个整形数,表示在 一个selection中有多少行

tableView:cellForRowAtIndexPath:这个方法请求一个cell去显示在给定的哪一行

prototype cells允许你对cell的styles,color,还有其他的属性进行配置,在程序运行时,data source 为每一行load cells的配置,并配置cells去显示数据

为了load正确的cell,需要去配置cell的名字,并配置cell的selection style 为 none


9 添加checkmark到app中

通过实现tableView:didSelectRowAtIndexPath:来对用户的taps做出响应,updata 所对应的item



然后显示checkmark在方法tableView:cellForRowAtIndexPath:中配置cell来显示checkmark

9 add new item

当user tap done button时需要添加新的item,在方法preparedForSegue:方法中检测done button是否被按下,如果按下则创建item

10 存储和显示新的item

在按下done button或cancel button时,方法unwindToList会被先执行然后才会导航到ToDoListViewController scene.

通过这个方法获得addToDoItemViewController,重新获取用户新添加的item,然后添加该item到ToDoList array中,让table view重新从TODoList array中load 数据,然后显示







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值