首页 > 文库大全 > 精品范文库 > 14号文库

IOS应用开发-设计说明书(个人总结)

IOS应用开发-设计说明书(个人总结)



第一篇:IOS应用开发-设计说明书(个人总结)

《IOS应用开发》设计说明书

班 级 学生姓名 学 号

2015年1月8日

一、IOS应用开发概述

(一)IOS简介

iOS 操作系统是iPhone、iPod touch 以及iPad 设备的核心。IOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为IOS(iOS为美国Cisco公司网络设备操作系统注册商标,苹果改名已获得Cisco公司授权)。

ios的优势:软件与硬件整合度高、界面美观、易操作、安全性强、应用数量多、品质高等;ios的缺点审美疲劳、过度依赖iTunes、不支持9宫格输入,只有全键盘和手写两种模式等。

(二)Xcode Xcode是一个集成开发环境,它负责管理应用程序工程。您可以通过它来编辑、编译、运行以及调试代码。Xcode还集成了许多其他工具,它是开发过程中使用到的主要应用程序。Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序。其运行于苹果公司的Mac操作系统下。

不管你用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快。每次操作都很快速和轻松。苹果公司为用户提供了全套免费的Cocoa程序开发工具(Xcode)。Mac OS X一起发行,在苹果公司官方的网站下载。

(三)Objective-C Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。

Objective-C是非常实际的语言。它是一个用C写成、很小的运行库,只会令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。Objective-C写成的程序通常不会比其原始码大很多。

(四)概念区分

Mac OS X是应用于手机端开发的;ios是用于手机移动端开发的。OC是Object-C的简称,是一种开发语言;Xcode是开发环境。

OOPL(Object Oriented Programming Language),面向对象的编程语言。

UI是using interface(UIview),是用户界面,UC是using controllers(View Controller)是视图控制下的。

二、系统概述

本系统的主要功能是实现用户登录,转屏、网页访问功能。

小组开发的系统是:权限站内搜索网页应用。登录功能的实现共有两种方式:用户名和密码出现错误跳转到错误提示屏、用户名和密码错误出现提示对话框。但在本次项目中采用的是第一种方式,登录进入之后可以实现网页搜索功能。

在本次系统实现过程中,我负责的是用户登录,实现信息验证。

三、系统实现

1、界面的布局:

首先是打开.storyboards的界面,然后添加主要的控件:两个label、两个textfield、两个button,还需要一个大button,让大button平铺整个屏幕。修改label的名字分别是:useName和password,button的名字是login和cancel。

图1:主界面

2、在ViewController.h中声明类 给两个textfields命名: @interface ViewController: UIViewController { IBOutlet UITextField *textOne;IBOutlet UITextField *textTwo;rightViewController *right;wrongViewController *wrong;} 所有的声明语句都要放在@interface和@end中间,UIViewController指的是用户界面下。注意是在括号中声明内容。IB指的是Internet Building,代表给程序员看的,UITextField说明的是用户界面上的那个TextField,*textOne,*是以指针的形式命名为textOne。新建的两个屏为rightViewController和wrongViewController,再进一步取名为right和wrong。

拖住UITextField到声明的代码中,确保填写的代码和所指的文本框上是相对应的,即在代码前面是实心圆。分别拖住login、cancel和大button按钮到.h文件中,选择action动作,命名为login,此时在生成一下代码:

-(IBAction)login:(id)sender;-(IBAction)quit:(id)sender;-(IBAction)cancelText:(id)sender;

IBAction是定义一个动作的方法名字是login,(id)sender代表针对所有控件的id。

3、在ViewController.m文件中实现代码消失

首先当在文本框输入完信息之后,点击大button实现键盘的退出。具体代码如下:-(IBAction)quit:(id)sender{ [textOne resignFirstResponder];[textTwo resignFirstResponder];}

4、在ViewController.m文件中实现取消按钮的功能

-(IBAction)cancelText:(id)sender{ textOne.text=””;textTwo.text=””;} 当点击取消按钮的时候,会触发action动作,那么textOne和textTwo的内容会自动被清空。

5、在ViewController.m文件中实现用户名和密码的验证

代码写在-(IBAction)login:id(id)sender{}内,具体实现的代码如下: If([textOne.text isEqualToString:@”aaa”]&& [textTwo.text is EqualToString:@”123”]){ right=[[rightViewController alloc] initWithNibName:@”rightViewCountroller” bundle:nil];[self.view addSubview:right.view];} else { wrong=[[wrongViewController alloc] initWithNibName:@”wrongViewCountroller” bundle:nil];[self.view addSubview:wrong.view];} 这是一个if条件判断语句,当textOne中的内容是“aaa”,并且textTwo中的内容是123的时候才会登录进入到正确的一屏,否则会自动跳转的错误的提示屏。

“@”代表后面的内容是字符串,alloc指代内存分配,initWithNibName指初始化的名字为:rightViewController,并且需要与alloc前面的rightViewController名字完全一致。Bundle:nil指的是:绑定为空

[self.view addSubview:right.view];转屏到rightViewController。

四、总结

通过本次课程的学习主要掌握了以下几方面的内容:

1、定义变量和工程的规则是:采用驼峰命名法,即:第一个单词首字母小写,其余单词首字母大写。

2、每个工程文件中共包含三个类型的文件:.h.m.xib.h文件:用于定义、声明类;.m文件:主要编写代码、执行;.xib(.storyboards):界面的显示;

3、ios设计过程不同于原来学习过的任何一种语言,整个编程思想不同,但是在老师的带领下,还是学习到了不少的知识。

第二篇:如何学习ios开发

如何学习ios开发

怎么学习ios开发?这是很多想学ios开发,又没有什么基础的同学遇到的疑问,针对这些问题,我想说说自己的看法,当然,希望我的这些经验能够帮到大家。、信念,一个没有信念的人是做不好大事情的,只要你心中有信念,坚持下去就会有收获。不管你是学哪一种编程语言,不用怀疑你能不能学会,只要你肯下工夫,坚持下去就一定会成,学不会只有一个原因,你没有付出足够的努力。

2、英语不是学会iOS开发的硬性指标,当然如果懂英语那学起来会容易一些是肯定的,针对英语这块,只要能懂一些就可以了,能看懂就已经很不错,大学四级那已经很牛X了。

3、对计算机有一定的了解,知道一些软件开发的基础知识,接触过C语言、.NET、PHP等对学iOS开发也会有一定的帮助,因为很多语言是相通的。

4、学iOS开发需要有一个苹果系统的电脑,最好有苹果原配电脑,有钱就买个mac pro,八九千不算很贵,钱少就买个四五千的mac mini,如果实在没钱又想着自学的话,那么就只能收紧裤腰带,厚颜买个山寨黑苹果主机了。(组装机 一般2000-2500 可以搞定 配置大概 4G 500G硬盘内存 I3 2012 H61主板系列 显卡GF430 以上的 都可以了。如果你的主机本身都是这样的配置 那么恭喜你 买个20元的mac lion 系统 马上就搞定了。上面的配置 装狮子系统没有问题。开发足够用了。)

5、学习iOS开发应该看什么书?怎么入门?怎么学习? 买本object-c 书学习下苹果使用的编程语言,对你的帮助会很大。时间有余再买本iPhone开发入门的书籍,平时空余时间看看,顺便听听视频,最后一点就是自己操作,光看作用不大,一定要落实到具体的操作上,找找感觉。如果不知道去哪里买就找我吧!视频买正版的,也就几百块钱,或者在淘宝上买一套视频教程,大概1700左右。

觉得买书都贵的话那就弄个电子版的书吧,反正多充几次电而已,谁让我们穷?生活那么拮据呢!省下的钱要请女友吃个啥买个啥呢。

参加iOS开发培训也可以,现在iOS开发培训大概也就4个月时间,花一两万系统学4个月也是一个不错的选择,虽然要一两万,但是效果跟自己学肯定是不一样的,要是自己学跟有老师带着学一样,那这个世界上将没有学校存在了。对于参加iOS开发培训的一定要选对机构,有句话说得好,选对比选好有时候重要太多。你考30分的成绩让你去北大清华也不一定能够成就了呢,所以选择口碑好的机构,专注iOS开发的机构比较好,不要选择Java、Android、iOS、PHP。。。什么都做的机构,毕竟咱基础不好,那些机构做杂很难做精。如果真的要上那些机构,除非你的基础非常好,老师随便讲讲你就能做到举一反三,否则我只能说:谁上过谁知道。

实在对自己摸不清,不知道自己到底适不适合学iOS的同学,有必要的话可以先入学测试一下,别什么都不闻不问就稀里糊涂的交钱了。更不要因为机构大就选,刚才也说了,一定要选对的,大机构有大机构的优势,小机构也有小机构的好处,大机构招人多,做的业务也多,资源不够用往往是大班授课,而且人多就业也难保证。小机构由于专注一个领域,所以专业性是不用怀疑的,而且由于人少,就业也有很大的优势。

有朋友问:我要学多久才能做项目?说实在的,这个问题回答起来有点难度,每个人接受能力不一样,因人而异。个人看法是:学过其他编程语言的,有两年工作经验以上的,学两周就可以自己入门做开发了,接着就是一边学习一边做,培训学3个月后就可以完全独立做项目了。

最后还想说一点,学习是一个长期的过程,只要你投入进去就好,坚持下去一定会有大收获。不管做什么或者学什么一定要避免三天打鱼两天晒网,这样效果不会明显。如果实在还有不明白的,可以找我,也可以网上搜索“无限互联”,那里有很多免费的视频。

第三篇:如何学习iOS开发

如何学习iOS开发

由于iphone手机带来的手机应用狂潮,现在很多人都希望从事这块的开发。很多初学者可能会问,怎么样才能学好iOS开发,我们要看什么书呢,还是什么视频,其实这些都不是重要的,重要的是,你认为自己可以学好iOS开发,认为自己可以坚持下来,这是关键啦。

其实学很多语言都是通的,从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看。学语言,无非就是要学好基础,弄清楚概念,然后做个简单的例子,慢慢的体会,基础打好了,到后面你会觉得突然自己提高了很多,很多东西都自然而然地明白了,在黑暗中的努力是为了迎接光明。

我觉得学iOS开发,首先心态要好,不要想着我已经学习很长时间了,可以找个好工作,可以赚钱了,牛人除外,不过大多都是普通人。

先慢慢培养兴趣下定决心,然后开始找资料,找视频,查百度。等你觉得这些基础的都差不多理解了,那就别看书,将精力集中于界面开发、一定的数据库开发、通讯接口开发、协同开发与联调。然后自己设计个东西,可以涵盖他们的,做个自己想做的东西出来,虽然可能很难,但是你会在过程中学到很多,是别人教不会你的。

在学习过程中遇到什么问题,你可以百度一下看看别人的回答,看多了印象就深了,也就慢慢掌握了。遇到什么思路上的问题,可以来论坛发帖,论坛肯定会有人来帮忙的,就算不能完全解决,也可以提供点参考。学习要会利用资源,论坛上那么好的资源不用可惜的哦,还有资料堆的东西,只要你能掌握70%,不相信你试试。

等学完了UI后,可以想想搞点数据的存储的东西,比如做个网络图片收集的,里面涉及到网络连接,图片保存,UI线程安全,数据库操作等等,又可以学到好多,何乐而不为呢。等学完这些,已经算不错了,接下去就要做点大的项目,最好是有客户端和服务器的,也练习下数据操作,了解下http协议,了解下wifi,了解下电话短信googlemap的等知识。如果是游戏,那么还需要涉及到引擎、建模、素材、光影、故事板等。推荐两本书两本经典入门书籍《objective-c基础教程》和《iphone4和ipad开发基础教程》。

当然你有兴趣的话可以在中间看看iOS的源码。

最后,等上层应用的东西基本学完了,学点底层的,你就做点调用底层的东西,深入了解下,就可以做很多东西了,比如3D游戏性能提高,编码解码等等。

还有一种快速地进行iOS开发,那就是通过互联网上面的在线移动开发平台,即使不懂技术也能开发,比如通过应用之星平台(appstar.com.cn)。不过今后如果真的想从事android开发这一行的,还是建议你们下定决心安心学习这么技术。如果只是暂时有这门兴趣,创意很多,那么可以试试互联网上的在线移动应用开发平台,因为操作都是傻瓜式的,这样会给你剩了很多时间,也不会让你学习的特别苦恼。

以上的经验希望大家参考下,主要是你觉得适合的,可以去试试,当然你可能有比我更好的方法,每个人都不同的嘛,但是都希望你们能成为高手。我觉得做好开发更重要的还是得靠自己不断的努力学习,师傅领进门学艺靠个人 相信自己,努力学习,一定会成功的。

原文地址:

第四篇:100个iOS开发设计程序员面试题汇总

www.teniu.cc

美国上市公司

亿元级外企IT培训企业

100个iOS开发/设计程序员面试题汇总

无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,本文作者Cameron Banga从编程、设计、App Store等各个方面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,更好地甄选合适人选,而iOS开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。

一、常见问题

你昨天/这周学习了什么?

你为什么热衷于软件开发?

你对哪一种控制系统比较熟悉?

是否参与过GitHub项目?

是否参与过GitHub或其他同类型网站的iOS开源项目?

请描述一下你的iOS应用开发流程。

是否熟知CocoaPods?它是什么?如何运行的?

请概括一下你对软件授权的理解,及其对软件开发的影响。

请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持?

请描述一下Instruments及其作用。

二、关于iOS技术

请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。

iCloud包含了哪些技术与服务?

iOS扩展是指?能否列举一些热门或常见的范例?

HealthKit是什么?

HomeKit是什么?

Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay?

请解释一下iOS应用沙盒机制。

VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能?

iOS应用是如何实现后台多任务处理(Multitasking)的?

Game Center针对iOS游戏有哪些功能?

iBeacons是什么?

www.teniu.cc

美国上市公司

亿元级外企IT培训企业

Cocoa/Cocoa Touch是什么?

请概括一下Core Audio,Core Data以及Core Location各是什么。它们对iOS应用有何意义?

请描述SpriteKit和SceneKit的作用。

Metal是什么?

响应链(Responder Chain)是什么?它是如何发挥作用的?

按钮和其他控制方式对哪些操作做出回应?

AppDelegate扮演着什么样的角色?

请解释一下NSUserDefaults。就你而言,你会如何在磁盘中对数组对象进行序列化?

你会如何储存用户的认证信息?

请问何为Keychain服务?

为什么移动设备上的缓存和压缩是不可或缺的?

请解释一下~/Documents,~/Library和~/tmp。iOS中的~属于什么目录?

AirPlay是如何运行的?换做是你,你会如何通过编程提高应用的实用性以及演示效果?

传感器,IO以及WiFi、拨号等连接方式如何在iOS平台上运作?它们有何利用价值?请扼要地谈谈你的观点。

iPad 2,iPad mini 1-3,iPad Retina,iPad Air 2,iPhone 5、5S、6以及6+在硬件性能方面有何差异?这对注重性能的应用有何限制?

三、关于编程

Cocoa Touch包含什么?不包含什么?

为什么Cocoa Touch的类名称是以两个大写字母开头的?

Swift和Objective-C分别是什么?两者相比有何不同之处,又有何联系?

为什么Optional在Swift语言中非常重要?

请解释一下NSError。在Swift中,什么情况下能使用NSError,什么情况下不能?

请说明如何使用Instancetype及其重要性。

在Swift中,什么时候该用let,什么时候该用var?

为什么map函数必不可少?该在什么情况下使用它?

你会选择什么工具来追踪Bug?

如果在Cocoa中发现一个Bug,你会如何处理?

如果应用的新版本出现了Regression的情况,该如何补救?如何防止用户在使用过程中遇到新的Bug?

Objective-C的类是怎么执行的?Objective-C Runtime是如何实现的?

www.teniu.cc

美国上市公司

亿元级外企IT培训企业

iOS是如何提高安全性,保护用户隐私信息的?

应用可以下载并即刻显示数据。如何根据MVC来判断下载的最佳位置?

MVC对代码库(Codebase)的设计有何影响?

Controller Life-Cycle以及View Life-cycle分别有哪些调试方法?

iOS使用的是哪些设计模式(Design Patterns)?你的代码库使用的是哪些设计模式?

iOS提供哪些线程?如何充分利用这些线程?

请简要描述一下UIScrollView的执行过程。它是如何响应手势识别(Gesture Recognizer)、多点触控(Multi-Touch)和Run Loop的?

你认为iOS需要添加或改进哪些API?

四、关于界面

iPhone5、6、6+以及iPad Air 2的屏幕分辨率分别是多少?

分辨率的计算单位是什么?

请解释一下Interface Builder的作用以及NIB文件的概念。

iOS UI的图像储存类型是什么?

请描述一下Storyboard和标准NIB文件的差别。

设备状态栏(Device Status Bar)是什么?高度如何?是否透明?在手机通话或者导航状态下,它是如何显示的?

导航栏(Navigation Bar)是什么?能否拿出你的iPhone,指出你下载的哪些应用运用了导航栏?

选项卡(Tab Bar)和工具栏(Toolbar)分别是什么?两者之间有何共同点和不同点?

表视图(Table View)是什么?集合视图(Collection View)又是什么?

什么时候用“弹出(Popover)”属性最为合适?

Split-view Controller是什么?

选取器视图(Picker View)适合存放哪类内容?

应该在什么情况下使用标签、文本域和文本视图?

分段控件(Segmented Control)的作用是什么?

模态视图(Modal View)是什么?

iOS通知属于什么类型?

五、关于设计

iOS应用图标是指什么?请尽可能详细地描述一下。

最小尺寸和最大尺寸的应用图标分别是什么样子的?

应用图标能否包含透明的部分?

www.teniu.cc

美国上市公司

亿元级外企IT培训企业

Newsstand的图标与常规应用有何不同?

请解释一下启动画面(Launch Images)。

自动布局(Auto Layout)的作用是什么?请概括一下它是如何运行的。

设计软件时为什么要加上动画?

请描述一下软件设计中的交互和Feedback有什么作用。

设计iPhone和iPad应用时,应分别考虑哪些因素?

请描述一下原型设计对于软件开发的意义。其作用是什么?

六、关于App Store

应用内购买(In-App Purchases)是怎么回事?IAP能够为用户带来哪些新体验?

你是否在App Store上发布过应用?能否概括一下过程?

iTunes Connect是什么?

Provisioning Profiles是指?

App ID是什么?

iOS的开发和发布签名证书有何异同?

如何使用TestFlight?通过Ad-hoc发布应用的话,该如何使用UUID?

应何时验证购买收据?

发布iAds(苹果平台广告)有哪些要求?

七、趣味问答

最近有没有开发什么好玩的东西?你最引以为豪的作品是什么?

谈一谈你常用的开发工具都有哪些优势?

你最敬佩的独立Mac或者iOS应用开发者是谁?

最喜欢什么项目?哪种类型的?

你觉得Xcode有哪些需要改进的地方?

iOS上你最喜欢哪些API?

是否有最中意的错误报告?

你最爱以哪种方式来检验一项新技术是否好用?

为什么词典被称作Dictionaries,而不是HashTable或HashMap?

以上内容来自达内iOS培训机构,更多关于iOS的内容欢迎在线咨询!

第五篇:学习iOS开发心得

学习iOS开发心得

据说,今年是高校扩招以来,大学毕业生最多的一年,将超700万,这么多大学生即将走入工作岗位。因此被人们戏称为史上2014“最难就业年”。

我在今年7月份也即将拿到沉甸甸的大学毕业证书,与同班同学不同的是,我在毕业之前,就参加了无限互联学习iOS开发,因为通过相关资料,我了解到现在的没有经验和技能的大学生是很难找到一份满意的工作的,所以我期望通过参加技能培训来提升自己的技能。经过将近4个月的学习,现在我将自己学习经验,及我为什么会选择iOS培训学习iOS开发的原因分享给大家,希望对各位能有所帮助: 我之前从事的是质量检验的工作,工资很低,而且还没有什么技术含量。想要跳槽,也很难找到满意的工作。

这让我很苦闷,于是想要进修,iOS又是当下热门的一个行业,所以就选择了iOS。我在北京的几家培训机构都进行了试听,最终选择了无限互联3G学院。之所以选择无限互联是因为无限互联无论在课程的安排,师资力量,还是就业这方面都是其他的培训机构不能比的。

由于我并不是计算机专业毕业的,所以起初学起来有点困难。但是老师细致的授课方法和负责认真的授课态度使我建立信心。我相信只要我把老师课上教授的内容弄懂、弄透,我就不会被落下。我就开始一步一步跟着老师的脚步走。每天回家都要复习、消化这一天的内容,并加以练习。所以我的基础知识学的特别的扎实。基础知识阶段是一个量的积累,量积累到一定的程度才会有质的飞跃。正因为我在基础知识阶段这种稳扎稳打的学法,才使我在最后一个月的项目实践中有一个质的飞跃,能力上了一个台阶。

培训结束之后,就开始找工作。因为从未踏入过这个行业,不知道如何面试,有点担心自己是否能找到工作。但在无限互联就业老师的细心指导下,我逐渐建立了信心。而且在面试中遇到的问题,就业老师也不厌其烦的一一进行解答。我真心感谢无限互联就业老师,如果没有他们的帮助,我也不会找到这份让我非常满意的工作。

4个月的培训证明了我选择的道路是正确的,在这里还认识了很多喜爱开发的朋友,我们在这里一起学习、生活,建立了很深的友谊。感谢无限互联3G学院为我们提供了这样一个良好的环境,最后祝福无限互联越办越好,祝各位老师工作顺利愉快,祝福学弟学妹们前程似锦。

相关内容

热门阅读

最新更新

随机推荐