艾特便签

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:gaochao321
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着信息时代的发展,信息量越来越大,单凭人类自身已经无法满足信息存储与信息传播的社会要求。近年来,手机的功能日益强大,携带方便且普及的规模也远超电脑,足以在通知和记事方面为人提供极大的便利。故而本人基于iOS系统和Swift语言设计并开发了一款名为“艾特便签”的手机APP。该文将从开发者的角度来介绍“艾特便签”。
  关键词:iOS;Swift;通知;记事;手机软件
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)04-0068-02
  1 研發简介
  生活中,一件事物往往需要记忆提醒,可能会涉及开始时间和结束时间,可能会涉及多人共同完成,可能会涉及信息共享,事物繁琐,通知麻烦,协同成本高。
  本款软件是一个轻量级的记事与通知应用的结合体,用于解决上述问题。通过在聊天正文中输入“@”标记来呼出手机系统通讯录,然后选择联系人进行通讯。“@”通讯录中自己的号码,即是给自己发备忘录通信;“@”通讯录中别人的号码,就是向他人发送通知。
  因为核心功能是通过在聊天文本中打“@”调用,从而软件得名“艾特便签”。
  2 配置开发环境
  本款软件基于iOS系统进行开发,需要在Mac OS X电脑上安装Xcode 7.3.1。使用Swift 2.2进行编程,测试环境为iOS 9系统的iPhone 5s模拟器。
  在iOS 9 系统中,苹果官方推出了Contacts框架可以方便地调用系统通讯录的功能,艾特便签涉及访问通讯录数据库中联系人的姓名和电话号码,以及调用官方提供的选择联系人的UI界面。
  iOS APP开发拥有很多优秀的第三方开源库,程序大牛们把一系列可重用的功能函数或控件封装成库向外界开放。利用好第三方库可以高效低成本的完成一款软件,好似站在了巨人的肩膀上做开发。
  艾特便签使用了两个第三方开源库,需要从https://cocoapods.org/获取第三方开源库RAMAnimatedTabBarController(带动画的标签控制器)和XWSwiftRefresh(下拉刷新控件)的Pod命令。然后在Xcode的工程中创建Podfile文件,文件里写的是开发平台及版本和第三方开源库名称和库版本。最后通过Mac电脑上自带RubyGems可以便捷安装CocoaPods。安装CocoaPods后,打开Mac上的终端进入项目工程所在根目录,执行pod install指令。
  艾特便签还涉及了字体和图片资源的使用,它们都需要拖入到Xcode工程中与代码文件一起打包成为一个APP。
  3 系统设计
  艾特便签是一款用于通知和记事的软件,类似短信和备忘录,因此设计原则应是直观、简洁、大方。
  3.1 业务逻辑设计
  3.3 主要功能设计
  艾特便签主要涉及的功能为注册、登录、查看已收通知、创建通知发送、查看已发通知。
  3.3.1 注册
  以一个NavigationBar和一个StaticTableView来构建页面,根据TableViewCell中的TextField来获取手机号、用户名和密码。查询数据库中是否有该手机号,若无则向数据库中插入一条记录。使用UIAlertController在页面上反馈给用户操作信息。
  3.3.2 登录
  以Stack View包装Image View以及Text Field来布局,使用Button来触发时间。登录时,查询数据库是否有该手机号且密码是否正确,正确则跳转至已收信息界面,错误则使用UIAlertController在页面上反馈错误信息。
  3.3.3 查看已收通知
  使用导入的第三方开源库,页面外层是RAMAnimatedTabBarController,内层是Navigation和DynamicTableView,把tableView.headerView设为XWRefreshNormalHeader,并根据需求自定义一个downPullLoadData函数。再把tableView.footerView设为XWRefreshAutoNormalFooter,同样根据需求自定义一个upPullLoadData函数。
  设置tableView的DataSource协议中cellForRowAtIndexPath方法为数据库中登录手机号所对应的通知记录;设置tableView的Delegate协议中didSelectRowAtIndexPath方法为弹出该Cell代表的通知详情界面,把对应的通知记录详细显示。
  3.3.4 创建通知发送
  页面主体为一个用于设置时间的TextField和一个用于输入通知信息的TextView。
  设置TextField的Delegate协议中textFieldDidBeginEditing方法为跳转到一个有系统自带的时间控件UIDatePicker的界面,利用闭包将UIDatePicker上用户选定的时间回调传给TextField。
  本页面中的TextView是实现艾特便签的核心。需要设置TextView的Delegate协议中shouldChangeTextInRange方法和textViewDidChange方法。shouldChangeTextInRange用于获取文本输入时的光标位置,此处为了避免因键盘联想输入导致的定位错误需要判断textView.markedTextRange == nil。textViewDidChange则用于判断当前光标位置前一个字符是不是“@”,如果是呼出iOS 9 系统自带的联系人选择界面CNContactPickerViewController(),再设置CNContactPickerDelegate协议中didSelectContacts方法获取用户选择的通知接收者。最后把通知接收者的姓名放到刚刚定位到的“@”后面,实现后的效果类似于图3-5中文本信息,达到通知信息与人名的混排对应,对于实现有分工意图的通知有很好的效果,可一次通知多个人。在通知文本中也可只“@”自己,那么这条通知记录只对应当前用户,从而实现备忘的效果。   点击发送后将这条通知生成为一条记录,将这个记录进行编号。用通知编号与每个接收的用户对应,再根据通知接收者的数量生成等量的通知编号与用户编号对应的记录,一方面便于每个登录的用户查找自己所需接收的通知,另一方面因为是编号对应所以不会浪费过多的存储空间。
  3.3.5 查看已发通知
  已发通知与已收通知的界面十分类似,同样利用一个DynamicTableView来展示数据库中当前用户所发的通知记录。已发通知页面拥有向右滑动表格删除通知的功能,需要设置TableView的DataSource协议中canEditRowAtIndexPath方法的返回值为true,另外还需设置commitEditingStyle方法为删除数据库所对应的通知记录。
  点击TableViewCell展现通知内容需要由TableView的Delegate协议中didSelectRowAtIndexPath方法来实现。在已发通知详情的界面的NavigationBar上设置一个Button为重新发送的功能,点击后读取Label上的通知时间和TextView中的通知内容,将其重载到新建通知界面,重新发送通知,此功能旨在让用户方便地修改有差错的通知。
  4 结束语
  随着移动技术不断地向前发展,科技产品将为人类的生活带来无限的便利。艾特便签使用新发布的Swift语言进行开发,相比之前的Objective-C语言更加简洁易读,合理利用了官方以及第三方开源框架,开发的效率高。
  艾特便签迎合了移动互联网时代,将通知与备忘功能整 (下转第71页)
  (上接第69页)
  合,为人们在信息的存储及转发方面提供了便利。虽然论文已经接近尾声,但对于艾特便签却只是个新的起点,艾特便签好似新生的婴儿,初具规模但还有很大的发展空间。未来艾特便签还会结合更多优秀技术不断的优化升级,争取为人类提供更多的便利。
  参考文献:
  [1] 傅佳晨.盐巴——基于 iOS系统的考研软件设计与实现[J].电脑知识与技术,2016(29):83-86.
  [2] 宁占彬,丁洋涛,朱惠娣,等.复电工单管理系统IOS版客户端设计[J].电脑编程技巧与维护,2016(15):5-7.
  [3] 季鹏磊,黄斐.校园移动电子商务模式探讨[J].福建电脑,2014(10):82,89-90.
  [4] 龍晓颖.基于iOS的移动应用UI架构库的设计与实现[D].北京:北京邮电大学,2015.
其他文献
在教育现代化的背景下,中学教育管理不仅为学生学习专业技术知识提供必要的学习环境,也要强调对学生文化素养的培养。加强中学教育管理是提高素质教育的基础性工程。笔者在参与重庆市普通高中教育教学改革研究重点课题资助项目“普通高中历史统编版与人教版教材比较研究”(课题编号:2019CQJWGZ2027)时,阅读了《现在开始上语文课——薛法根课堂教学实录》一书,发现其虽然是基于现代教育背景对语文教学实践工作深
摘要:为满足MMOG实时交互的需要,该文在分析了影响动态场景软阴影算法效率的主要因素之后,提出一种适合于MMOG的快速软阴影算法。该算法利用包围盒可以用较少的点描述物体位置信息的特点,快速地计算出遮光物体与光源和接收面之间的距离关系,确定半影区的宽度和位置,避免了求平均深度值的耗时计算。经与使用平均深度值作为遮挡物距离的经典软阴影算法通过实验进行比较,本方法可以更好地满足MMOG对于实时性的要求,
汉乐府研究是古典诗歌研究史上的重要一环,从汉乐府研究中体现出来的诗歌创作观和发展观也可以折射出中国诗学研究方法的形成与发展、嬗变与转型。当前,美育越来越受到重视,培养学生的审美观和鉴赏美、创造美的能力也成为素质教育的主要内容。漢乐府,作为中国古典文学重要的组成部分,不仅有独立的学术使命和意义,而且对素质教育背景下的美育文化熏陶也有着重要的影响。目前,汉乐府的研究视点主要集中在对诗歌文本的赏析和研究
摘 要:“三探二引”教学模式是结合现在科学教学实际提出的符合中学科学教学特色的教学模式。本文对“三探二引”教学模式在科学课堂上应用的设计思路和教学实践进行了探讨,对于以后该模式在科学课堂上的应用具有借鉴意义。  关键词:三探二引教学模式;自主学习;合作探究;有意义学习  中图分类号:G633.7 文献标识码:A 文章编号:1003-6148(2015)2-0075-3  1 课前准备阶段  1.1
春天的时候,妈妈从小姨家搬来一盆仙人掌。我把它放在阳台的架子上,天天看着它。  仙人掌是一种生命力非常顽强的植物,無论是炎热的夏天,还是寒冷的冬天,它都能顽强地生长。它那绿色手掌上的刺儿,可以保护身体不受伤害。一旦有人靠近,它就会发出无声的攻击,让人疼痛不已。  春末夏初时节,仙人掌会开出浅黄色的花,橘色的花蕊娇嫩诱人,像女生漂亮的纱裙,成了阳台上的一道风景。  妈妈说:“仙人掌有许多用途,把它的
摘要:UWB技术实现了对有限频率资源的充分再利用,但同时也不可避免的成为其它通信系统一种潜在的干扰源,与传统系统的共存性是UWB研究中的一个重要课题。该文首先建立了DS-UWB信号模型,对信号功率谱密度进行了理论推导,在给定仿真条件下,运行了仿真程序,得到了预期的仿真结果。同时,利用建立的仿真系统,研究了抑制正弦干扰性能与系统信噪比的关系,结果表明,提高信噪比,系统可以有效抑制正弦信号干扰。  关
秋天,村子里开了一家理发店。理发师是个瘦瘦小小的家伙,一副大大的眼镜,顶着大大的帽子,穿着大大的长衫,像个特工。  很快,人们就发现理发师的手艺并不怎么样,他把头发理得像乱蓬蓬的杂草。更糟糕的是,他好像只会理这样一种发型。  “你只需要给我剃个光头,很亮的那种。”  “如果可以,我想要一头漂亮的卷发。实在不行,把头发弄成很有弹性的样子也可以。”  “请把我的头发稍稍剪短一些,谢谢。”  “我打算把
桃花粉粉,  她對大树说:  “我是春天。”  烈日炎炎,  他对大地说:  “我是夏天。”  树叶黄黄,  他飞舞着说:  “我是秋天。”  雪山高高,  他对滑雪的人们说:  “我是冬天。”  “红红”点评  叠词的运用非常妙,既简洁地凸显了事物的特征,又保持了诗歌琅琅的音韵感,充分“暴露”了一年级小朋友的天真可爱哟。
文体是什么?《辞海》的解释是“文章的体裁或风格”。文体体现着文章和文学作品的结构形式、构成要素、语言风格、语言表达的特点。文体意识,是一个人在长期的阅读和写作中形成的对文体特征自觉的理解和把握。文体意识与语文读写能力之间紧密的联系决定了我们在语文教学中必须重视小学生文体意识的培养,使之形成良好的文体认知能力,提升其阅读和写作能力。文体意识的培养是一个系统工程,需要上升到课程维度进行思考。从语文课程