小知识回顾

  • 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)
  • 快速开发(模块化开发,抽离代码,形成模板)

  • 开发使用 iBeacon 的 iOS 7 应用

你可能感兴趣的:(小知识回顾)