• 联系我们
  • 地址:湖北武汉三环科技园
  • 电话:159116031100
  • 传真:027-68834628
  • 邮箱:mmheng@foxmail.com
  • 当前所在位置:首页 - c++培训
  • 开发iOS APP上手学习线图2015年3月9日星期一c++培训
  • 重庆中考论坛zslpsh,重庆学校zslpsh,重庆学校zslpsh,重庆市中学生网,重庆中学生网,重庆中学生网站,重庆中学生网好,重庆中学生学习网,重庆中学学习网,重庆中学生网家教,重庆中学生论坛,重庆学生zslpsh,重庆高考论坛zslpsh,重庆中学排名zslpsh,重庆中学zslpsh,重庆中学生,重庆学生网中考,重庆中考zslpsh,重庆中学生交友,重庆初中生,重庆中学生学习网,重庆土话网,西南云南方言网,最新电影淘娱淘乐,tianyanmao.cn,重庆18680好,岳阳yy房产网,重庆18680,云南西南方言网,网店taoyutaole,电影淘娱淘乐,最新电影淘娱淘乐,电影淘娱淘乐,娱乐资讯taoyutaole,影视淘娱淘乐,taoyutaole笑话,taoyutaole淘娱淘乐,娱乐taoyutaole,时尚taoyutaole,重庆生活新闻,贵州西南方言网,027旅游新闻网,重庆特产18680,0871昆明旅游人才网,重庆生活18680好,观赏虾之家zadull,022天津交友,022天津交友网,水草造景zadull,18680重庆特产,0755深圳交友网,0755深圳旅游招聘,0755深圳旅游招聘网,0755深圳旅游新闻

      来源:coderyi的博客作者:iOS系统以及iPhone的出来都要感谢乔布斯,一个完主义者,从如此优秀的iOS系统和iPhone就可以看出来。下面就简单介绍一下我iOS开发的感受,也是学习iOS开发的一个体系架构。

      标准的配置是MacOSX+Xcode。

      MacOSX的话首选用苹果电脑,macmini最便宜只要4000多就好了然后自己配一个显示器,macbookpro 也可以,不推荐使用macbookair。还有很多人使用黑苹果或者虚拟机甚至在windows上装一些工具都是不可取的。

      另外官翻版的也可以去买,很便宜就可以买到好机子,官翻版。

      Xcode这个开发工具自己继承了iPhoneSDK,所以不用单独下载SDK。调试的模拟器可以从Xcode里面下载不同版本的模拟器。

      iOS调试真机是需要证书的,所以这个时候需要从申请一个iDP账号,不过仅仅需要调试的话,某宝上有很多卖20几块的证书。应用上传appstore的话有很多种方法,证书分为企业和个人,个人的可以到appstore,企业是不可以的。

      Object-C语言通常写作objective-c或者obj-c,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言, 它能够和C、C++混合编程。OC是一个编译型的语言,通过gcc编译器把object-c代码编译成机器指令。关于基本概念可以参考,十分钟让你明白Objective-C的语法(和Java、C++的对比) 。

      OC是使用引用计数原则,现在OC引入ARC(自动引用计数原则)。引用计数有几个规则,一是谁创建谁,通过alloc、new和copy创建对象, 然后调用release或者autorelease去对象,第二是,除了alloc、new和copy之外创建的对象都是autorelease的, 第三谁retain了,谁。

      OC首先是只有单一继承,没有多重继承。

      属性访问,@property加上@synthesize使用后能够自动生成setter和getter方法。

      category,中文一般叫做类别,他能够为现有的类提供新的方法,他将类的实现分散到多个不同的文件或框架中,创建对私有方法的前向引用,向对象添加非正式协议。

      block语法,块,他通常代表小段的自包含的代码片段,因此,他们封装为可以并行执行的工作单元额外有用,还可以用于在集合中进行遍历,或者在其他操作 完成时作为回调。块代替传统回调函数的意义有两个:一是他们允许在方法实现的调用中就近写入代码,而且块经常被作为框架中一些方法的参数;二是他们可以访 问本地变量。

      OC中有很多类是以NS开头的,那是cocoa层里面Foundation框架的类库。

      最基础的是MVC模式,就是把项目分为Model、View和Controller三层进行管理

      常用的还有代理模式,通过协议和block实现。观察者模式的话体现在了KVO和notification上了。target-action模式是OC中 非常常见的对象之间方法调用的方式,一般在和UI打交道的时候处理各种GUI上的事件会利用到这种模式,他通常会有一个target作为消息的接收者。单 例模式,使得单例对象在项目中只会创建一次。工厂模式,是一个类族的概念,很符合敏捷软件开发的封闭原则。关于各种设计模式,可以看卡奴达摩的专栏。

      一般写iOS的UI有三种方式。xib,Storyboard以及代码创建。

      我之前自学用了一会的xib,之后一直用代码创建,代码更容易区做多语言版本,而且

      xib启动需要事件比用代码直接写慢,xib文件比代码建立UI文件也大。

      具体对比可以看喵神的博客代码手写,xib和StoryBoard间的博弈

      iOS数据存储主要有四种方式。

      NSKeyedArchiver,采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议。归档形式保存数据只能一次性归档保存以及一次性解压,只能针对小量谁,而且数据操作笨拙,即如果想改动数据的某一小部分,需要解压整个数据或者归档整个数据。

      NSUserDeults,用来保存应用程序设置和属性。

      第三种,Write写入文件。

      第四种,相对前两种更为复杂,但也最好用。SQLite,可以自己封装,也可以使用FMDataBase等第三方封装库,还可以使用系统的CoreData。

      iOS的数据通信有几种方式,应用层的HTTP,以及传输层的封装TCP或者UDP的socket接口,还有就是蓝牙通讯。

      HTTP的网络服务一般可以用post、get或者soap等方式请求数据,可以用系统的NSURL也可以用第三方类库(MKNetWorkKit、AFNetWorking),这两种类库都可以做缓存,数据交换的格式一般有JSon和xml。

      socket可以通过c语言的socket和CoreFoundation框架的CFNetwork实现,也可以用第三方类库asyncsocket。

      蓝牙4.0的话使用的是CoreBluetooth框架。

      iOS的多线程有NSThread、NSOperation以及。NSThread比其他两个轻量级,但是需要自己管理线程的生命周期,线程同步。 线程同步对数据加锁会有一定的系统开销。operation则不需要关心线程管理,是一个替代NSThread和operation的技术。

      iOS的地图是使用MapKit框架,定位用CoreLocation。

      iOS有一个云端机制iCloud,iOS还有一个推送机制,可以由服务器推送消息到手机应用程序,iOS还可以做本地化。

      iOS有一些内置的传感器可以利用起来编程,比如三轴加速传感器,用来测加速度的,还有陀螺器,测角速度,移动的。

      关于iOS的相机、相册以及音视频都有相应的类库。

      第一是多人协作的问题,你可以用svn或者git,git是比较流行的,但是大多数的公司还在用svn;

      第二,iOS的数据持久化有很多方案,最高效的就是sqlite,在mac上有很多sqlite的可视化管理工具,我用的是sqlitemanager。

      第三,关于查看模拟器或者真机的沙盒内容,模拟器可以使用SimPholders,真机可以用ifunbox。

      第四,屏幕取色工具,sip。

      第五,另外xcode也可以安装很多辅助工具,例如,格式化xcode代码的ClangFormat,第三方库管理工具CocoaPods,压力测试工具uiautomonkey。

      第六,移动开发有一些常用的平台的,比提供社会化分享、统计分析等的友盟,sharesdk;内测平台fir.im,蒲公英;云测平台testin;广告平台google的admob

      关于看书,对于某一个东西入的化,其实不适合看书,或者你想看随便挑一本入的书就跟着看就好了。

      code4app,iOS开发社区 开源中国社区,cocoachina是国内常用的三大代码库网站,国外我会上版本控制的网站github,并且欢迎关注我的github,coderyi

      最后附赠一张iOS学习线图 ,这一些东西只是iOS开发的冰山一角,哪一东西要做好都要学很多东西,学好最重要的就是你对他的热情,漫漫其修远兮,吾将上下而求索。