ios开发基础
iOS开发基础,提纲,1.iOS发展过程 2.Objective-C与Swift语言 3.iOS开发基础 4.Xcode介绍与演示,2007年1月9日,苹果公司前首席执行官史蒂夫·乔布斯发布第一代iPhone,iOS Milestone,iOS1:支持多点触控 iOS2:Appstore,导航 iOS4:Facetime iOS5:Siri,iCloud iOS7:扁平化,控制中心,Android与iOS市场占有率对比,iOS的一些特性,封闭的硬软件系统 发布应用需要开发者账号,只能发布到Appstore* 对应用有严格的启动、权限、通知管理 碎片化较低,用户支付率较高,Objective-C,Objective-C 是ANSI C的超集,实现了面向对象的特性,支持与C和C+混编,消息传递,消息传递,Objective-C调用方法的方式,该调用方式转化为一条标准的C语言函数调用,Property,Property是声明属性的语法,它可以快速方便的为实例变量创建存取器,并允许我们通过点语法使用存取器。,Property,Property关键字,readwrite: 产生settergetter方法 readonly: 只产生简单的getter,没有setter。 assign: 默认类型,setter方法直接赋值,而不进行retain操作 retain: setter方法对参数进行release旧值,再retain新值。 copy: setter方法进行Copy操作,与retain一样 nonatomic: 禁止多线程,变量保护,提高性能,内存管理,引用计数,循环引用,循环引用,主动断开循环引用 使用弱引用,Swift,Swift新特性,常量和变量的命名,注释可嵌套,Swift新特性,元组类型-将不同类型的数据封装成一个元素,可选类型-为某一类型或者为空,Swift与Objective-C,Swift 支持 Cocoa 和 Cocoa Touch 框架 满足工业标准又具有脚本语言的某些特性,同时也更符合Java、C+程序员的编程习惯 Swift其实就是Objective-C的文本变种,Playground演示,系统框架,可触摸层,媒体层,核心服务层,核心系统层,UI控件,Storyboard与Xib,机型适配,Frame定位,Autoresizing,UIViewAutoresizingNone 不自动调整。 UIViewAutoresizingFlexibleLeftMargin 自动调整view与父视图左边距,以保证右边距不变 UIViewAutoresizingFlexibleWidth 自动调整view的宽度,保证左边距和右边距不变 UIViewAutoresizingFlexibleRightMargin 自动调整view与父视图右边距,以保证左边距不变 UIViewAutoresizingFlexibleTopMargin 自动调整view与父视图上边距,以保证下边距不变 UIViewAutoresizingFlexibleHeight 自动调整view的高度,以保证上边距和下边距不变 UIViewAutoresizingFlexibleBottomMargin 自动调整view与父视图下边距,以保证上边距不变,Autolayout,Autolayout,Autolayout,SizeClass,数据持久化,NSUserdefaults 对象存档 SQLite CoreData,传值,NSNotification Delegate KVO 单例,多线程,NSThread GCD NSOperation & NSOperationQueue,MVC,Model View Controller,MVVM,MVVM:Model-View-ViewModel ViewModel:从MVC的controller中抽取出来的展示逻辑,负责从model中获取view所需的数据,转换成view可以展示的数据,并暴露公开的属性和方法进行绑定,消息推送,Apple Watch,Thank you and any questions?,