-
AVFoundation可以用它来扫描二维码
-
MediaPlayer和AVPlayer播放影片
-
CoreLocation ,苹果在不允许使用第三方库进行定位,定位框架,配置NSLocationWhenInUseUsageDescription(前台定位)和NSLocationAlwaysUsageDescription(前后台定位)
-
用于地图展示,例如大头针,路线、覆盖层展示等,百度地图,谷歌地图
-
Core Animation是直接作用在CALayer上的(并非UIView上)非常强大的跨Mac OS X和iOS平台的动画处理API,Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程
-
万事万物皆对象,对象是属性及其操作的封装体
-
plist,NSKeyedArchiver(归档和解归档),SqLite(增删改查,FMDBatabase),coreData(实体,NSManagedObject)
-
线程对比(子线程处理数据,主线程更新UI)
1. NSThread(动态、静态、隐式实例化)
每个NSThread对象对应一个线程,真正最原始的线程。
1)优点:NSThread 轻量级最低,相对简单。
2)缺点:手动管理所有的线程活动,如生命周期、线程同步、睡眠等,控制线程顺序比较难,同时线程总数无法控制,线程同步对数据的加锁会有一定的系统开销。
2. NSOperation(NSOperation是对GCD的封装,面向对象,效率不如GCD)
自带线程管理的抽象类,NSInvocationOperation(target,NSInvocationOperation在Swift中已不再支持),NSBlockOperation(block)
1)优点:自带线程周期管理,操作上可更注重自己逻辑。
2)缺点:面向对象的抽象类,只能实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。
3. GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。
1)优点:最高效,避开并发陷阱。
2)缺点:基于C实现(不是面向对象,但是我并不觉得是缺点,效率和性能才是正宗)。
总:除了依赖关系尽量使用GCD,因为苹果专门为GCD做了性能上面的优化
-
delegate、KVC(间接访问对象的属性)、KVO(观察一个对象的值的变化)、Block
-
基本第三方框架AFNetworking、SDWebImage、MJRefresh、SVProgressHUD等等
-
APNS
1、应用程序注册APNS消息推送。
2、iOS从APNS Server获取devicetoken,应用程序接收device token。
3、应用程序将device token发送给程序的PUSH服务端程序。
4、服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给iPhone应用程序。
-
UIView、UIButton、UILabel等等封装
-
CocoaPods,微信QQ微博分享、登录,微信支付宝applePay支付,极光leancloud推送、扫码、积分墙(有米、万普、点入等)
-
nib和Storyboard、sourceTree
-
UIResponder
-
ARC & MRC
-
组件化开发(deepLink)
组件化,通过deepLink接口调页面(URL SCHEMES)
-
快速开发(模块化开发,抽离代码,形成模板)
网友评论