美文网首页
2018-07-31 swift 开发todo回顾

2018-07-31 swift 开发todo回顾

作者: 朝九晚九 | 来源:发表于2018-07-31 12:10 被阅读0次

    看了网上的一些教程,有开发一款简单应用的想法,其中一些教程提供了很好的出发点,可以在其基础上延伸,需要的是各方面的技能。以下是最近两天开发的过程回顾。

    计划:用swift语言开发todo应用,使用Xcode自带控件,不采用第三方资源。

    应用使用过程逻辑:
    1,通过文字输入来新建任务
    2,通过控件标记任务
    3,通过列表查看全部任务
    4,删除任务

    应用界面设计:
    1,首页为列表,用来在开启应用时查看所有任务
    2,在首页通过点击新建任务来开启子页面
    3,子页面包含文字输入框,标记任务控件,确认新建任务按钮

    应用图标设计:
    Pages制图,导出图片后,使用开源工具一键生成

    任务以列表的形式呈现给用户,所以在ViewController里采用UITableView,同时使用向左滑动的手势来删除任务;
    点击新建任务开启子页面可以使用UIBarButtonItem,通过设置属性改为系统提供的Add,显示为 + ,省去了按钮设计;
    子页面文字输入框使用TextField,位置在最上方,方便页面切换后点击文本框开始编辑文字;
    文本输入框下面布置任务标记控件,考虑分为重要和不重要两种,可以使用UISwitch,在标记重要任务时,通过代码给任务增加标记;
    UISwitch占据较小的面积,可以放在TextField同一行,考虑同时搭配文字提示来说明是否将任务标记,文本框文字数量,不放在同一行更合适,于是添加UILabel作为文字提示;
    最后,确定任务时使用UIButton,同时切换回首页。


    image.png
    image.png
    image.png

    代码:
    首页通过UITableView来显示数据,首先添加UITableViewDelegate, UITableViewDataSource然后在 viewDidLoad里面添加

        tableView.dataSource = self
        tableView.delegate = self
    

    首页需要获取数据和刷新数据,添加getDatareloadData来实现;

    数据展示三连:有啥?咋摆?什么变了?


    image.png
    image.png
    image.png

    其中在cellForRowAt里使用if else语句来区分标记的任务是否重要。

    子页面属于常规操作,拖拽控件们挨个命名,添加任务的按钮相对复杂,需要处理确认任务添加完成,还要切换回首页,任务添加完成为保存文字,确认标记,保存标记。

    子页面的下半部分留给了输入文本时弹出的键盘,可以使用手势轻点空白处来收回键盘,考虑未来添加控件UIDatePicker提供设置任务提醒时间的功能,同时改变现有添加任务的按钮位置。

    应用使用Core Data来保存数据,具体为每一项任务的文字和标记,在Attibute中分别为String和Boolean。


    image.png

    由于应用非常简单,可以顺便做一点细节来学习应用开发的其他知识,比如本地化。
    在开发的时候默认是英语的环境,可以在Xcode里进行添加中文环境,选择项目名称在Info里面有Localizations,添加后可以看到选择哪些文件来本地化。


    image.png

    两个storyboard本地化后会增加一个strings文件,内容很简洁,可以看到对应的控件的id,通过id可以查到控件。
    应用名称也可以本地化,在Info.plist添加Application has localized display nameBoolean设置为YES,新建strings,命名为InfoPlist,在里面写一行CFBundleDisplayName ="应用名";即可。

    提交审核

    坑一:应用快照
    使用模拟器截图时,要注意截图的分辨率,默认⌘+S生成截图放在桌面,截图默认会显示分辨率,按照要求选择对应的分辨率。
    坑二:证书
    证书过期无效,证书没过期无效等等等等。
    坑三:网络
    在Xcode内提交应用时可能会出现中断的情况。
    坑四:应用体积过大
    优化吧,没别的办法。

    总结,swift初学者在很少量的代码下可以实现很简单的应用,并一路走到应用上架等待审核的环节,整个过程中遇到的问题都可以在网上查到解决的办法,尽量用英语查询,当前swift版本为4,可以获得全世界开发者分享的最新信息。

    相关文章

      网友评论

          本文标题:2018-07-31 swift 开发todo回顾

          本文链接:https://www.haomeiwen.com/subject/zfjcvftx.html