苹果软件开发(苹果软件开发用什么语言)
1 iOS开发环境
1.1
标准的配置是MacOSX+Xcode。
MacOSX的话首选用苹果电脑,macmini最便宜只要4000多就好了然后自己配一个显示器,macbookpro 也可以,不推荐使用macbookair。还有很多人使用黑苹果或者虚拟机甚至在windows上装一些工具都是不可取的。
另外官翻版的也可以去买,很便宜就可以买到好机子,官翻版。
Xcode这个开发工具自己继承了iPhoneSDK,所以不用单独下载SDK。调试的模拟器可以从Xcode里面下载不同版本的模拟器。
1.2 账号 证书 上架 等
iOS调试真机是需要证书的,所以这个时候需要从申请一个iDP账号,不过仅仅需要调试的话,某宝上有很多卖20几块的证书。应用上传appstore的话有很多种方法,证书分为企业和个人,个人的可以到appstore,企业是不可以的。
2 Obejct-C语言
Object-C语言通常写作objective-c或者obj-c,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言, 它能够和C、C++混合编程。OC是一个编译型的语言,通过gcc编译器把object-c代码编译成机器指令。关于基本概念可以参考,十分钟让你明白Objective-C的语法(和Java、C++的对比) 。
2.1动态特性
Object-C具备一些动态特性,包括动态类型、动态绑定、动态加载,也就是Object-C在运行时才能知道一些对象的类型以及所调用的方法。
2.2内存管理
OC是使用引用计数原则,现在OC引入ARC(自动引用计数原则)。引用计数有几个规则,一是谁创建谁释放,通过alloc、new和copy创建对象, 然后调用release或者autorelease去释放对象,第二是,除了alloc、new和copy之外创建的对象都是autorelease的, 第三谁retain了,谁释放。
2.3 一些语言特性
OC首先是只有单一继承,没有多重继承。
属性访问,@property加上@synthesize使用后能够自动生成setter和getter方法。
category,中文一般叫做类别,他能够为现有的类提供新的方法,他将类的实现分散到多个不同的文件或框架中,创建对私有方法的前向引用,向对象添加非正式协议。
block语法,块,他通常代表小段的自包含的代码片段,因此,他们封装为可以并行执行的工作单元额外有用,还可以用于在集合中进行遍历,或者在其他操作 完成时作为回调。块代替传统回调函数的意义有两个:一是他们允许在方法实现的调用中就近写入代码,而且块经常被作为框架中一些方法的参数;二是他们可以访 问本地变量。
OC中有很多类是以NS开头的,那是cocoa层里面Foundation框架的类库。
3 iOS开发
3.1 iOS操作系统简介
iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。每层都包含很多系统框架,例如著名的UIKit框架就是在cocoa touch。
3.2 常用的设计模式
最基础的是MVC模式,就是把项目分为Model、View和Controller三层进行管理。
常用的还有代理模式,通过协议和block实现。观察者模式的话体现在了KVO和notification上了。target-action模式是OC中 非常常见的对象之间方法调用的方式,一般在和UI打交道的时候处理各种GUI上的事件会利用到这种模式,他通常会有一个target作为消息的接收者。单 例模式,使得单例对象在项目中只会创建一次。工厂模式,是一个类族的概念,很符合敏捷软件开发的开放封闭原则。关于各种设计模式,可以看卡奴达摩的专栏。
3.3 Interface Builder和Storyboard
一般写iOS的UI有三种方式。xib,Storyboard以及代码创建。
我之前自学用了一会的xib,之后一直用代码创建,代码更容易区做多语言版本,而且
xib启动需要事件比用代码直接写慢,xib文件比代码建立UI文件也大。
具体对比可以看喵神的博客代码手写,xib和StoryBoard间的博弈
3.4 常用系统框架和第三方库
UIKit是最常用的框架,主要是用来做UI的。包括视图UIButton、UILabel,控制器UIViewController等,还有一些触摸事件、手势等。
QuartzCore、CoreAnimation框架是一些绘图、动画的类库。
第三方库的话,可以查看github上object -c的仓库排名,Search · GitHub 。
3.5数据存储
iOS数据存储主要有四种方式。
NSKeyedArchiver,采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议。归档形式保存数据只能一次性归档保存以及一次性解压,只能针对小量谁,而且数据操作笨拙,即如果想改动数据的某一小部分,需要解压整个数据或者归档整个数据。
NSUserDefaults,用来保存应用程序设置和属性。
第三种,Write写入文件。
第四种,相对前两种更为复杂,但也最好用。SQLite,可以自己封装,也可以使用FMDataBase等第三方封装库,还可以使用系统的CoreData。
拥有雄厚的技术研发实力,致力于为客户提供完美的原生APP开发解决方案。把握市场动向,深耕O2O领域。您的电商大业,由守护
相关文章
-
微商客户资源(微商货源网精准客源)详细阅读
微商找客源是对微商来说非常重要的一件事,很多做微商的就是苦苦支撑着因为没有客源,微商如何找客源一直是一个不衰的话题,下面我们就来讨论下这个话题。一:定...
2022-09-08 18944
-
什么是AR(什么是ar导航)详细阅读
增强现实的AR互动营销增强现实的AR互动营销一款叫做《口袋妖怪GO》的手游在欧美火了,在还未上线的中国,#PokemanGo#这一话题的微博阅读量已经...
2022-09-08 18199
-
弯弯的月亮像小船(弯弯的月亮像小船,小小的船儿两头尖)详细阅读
点击上方蓝字关注我们你拍一,我拍一,一个小孩坐飞机。你拍二,我拍二,两个小孩丢手绢。你拍三,我拍三,三个小孩来搬砖。你拍四,我拍四,四个小孩写大字。你...
2022-09-08 13631
-
流苏是什么(流苏是什么样子的图片)详细阅读
导语 听说流苏和秋天更配哦!流苏这个元素也不是今时今日才流行起来的,能经久不衰是因为它真的美呆了~踏进9月,秋高气爽,随风摇曳的流苏真心是风情万种!宝...
2022-09-08 639
-
淘口令是什么意思(什么叫做淘口令)详细阅读
现在开淘宝的越来越多了。但是做得好的好的始终还是那么多,好多人因为刚开始很迷茫,不知道怎么做,或者做到一半发现没有效果,无奈之下只好放弃了,我作为一个...
2022-09-08 664
-
发家致富网(发财致富网)详细阅读
前言:面相五行人格与性格职业密切相关,有什么用的性格就有什么样的命运,性格决定命运。有些人需要白手起家获得财富,有些人则有可能会发横财,你会通过什么方...
2022-09-08 638
-
兼职在家工作(在家工作的兼职)详细阅读
力哥说理财,简单又好玩。跟着力哥走,理财不用愁!本文3100字,阅读约6分钟我要介绍的赚钱工作就是兼职写稿赚稿费。主业靠写作发大财是件非常困难的事,只...
2022-09-08 656
-
系统流程图(系统流程图是描述)详细阅读
数据流程图(简称DFD)是一种能全面地描述信息系统逻辑模型的主要工具。简言之,就是以图形的方式来描述数据在系统流程中流动和处理的移动变换过程,反映数据...
2022-09-08 618
发表评论