历程总结

NO.1

1.播放器hud 动画有没有卡顿 ;

没遇到——    不过,我使用的CoreAnimation , 尽量不要添加阴影效果

2.uiview 的周期 :  initwithcoder    / awakfrom  / loadView / viewdidload / viewwillappear / viewwilllayoutsubviws / viewdidlayoutsubviews / viewdidappear  / viewweilldisppear / viewdiddisappear

3.自动释放池:

3.程序崩溃情况:

有集成bugly ; 收集奔溃 / 卡顿信息 ;

数组越界 / 插入了空值 nil 的 /  SEGV_ACCERR : 异常进程线程的  /

NO.2

1.kvo 底层:

基于runtime 机制 ; 底层会动态创建当前类的派生类, 重写被监听属性的 setter 方法;

在setter 方法里面, 添加  [ sefl valuewillchangefokey]  [self valuedidchangeforkey]

触发  observalueforkeypath: ofobject :  context:

项目使用: 1.画笔bacK / resume 2.视频熟悉 3.视频连线滑动

2.通知 ; 是同步 ; 只有执行完当前任务, 才会继续执行

项目使用: websocket

3.rumtime :  oc 是动态语言, 方法的调用在底层就是消息发送;

运用场景(例子): 1. 未分类添加属性  ,  2.模型解析

项目中的使用:

4.rac 原理:

5.项目亮点:

1.画笔封装: kvo监听—--状态的改变 (返回前进)

基类封装 ——  RVBaseBrush  (公用的 属性:  起点 / 终点 线宽 颜色  bezirPath  方法 子类实现: (生成传给后台的参数  getDrawArguments )  ; )-> RVFreedomBrush RVTectagleBrush RVCircleBrush RVArrowBrush

RVDrawBoard —      UIBesierPath 画线 ; drawRect:  [self setNeedDidplay] 刷帧;

touchBegain

2.视频寻帧: seek —  seekToTime:time toleranceBefore seekToTime:time toleranceBefore

视频播放器封装  :  —  controle  , layer 层 ;  hud ;

status , loadtimerange , 属性监听 ;  playbackBufferFull  rate

播放器初始化:  AVURLAsset ,  然后异步加载 loadValuesAsynchronouslyForKeys

@“playable”  — 是否可以播放; 然后做初始化  palyer , playerItem

添加时间监听 (没有用NSTimer) —  addPeriodicTimeObserverForInterval

NO.3

1.账号密码保存方式:  userdefault  , 归档 , keyChain  ;

keyChain : 保存在设备中,独立于每个App沙盒之外;

1.安全 2.即使App卸载 ,存储信息依旧存在,再次安装App,可以依旧使用

3.相同的 AppleId 开发, 可以实现多个App共享数据

2.视频退出后, 有能继续听到声音 1~3s,  要先pause

3. 不同图片,同一url; 怎么做更新; 图片MD5 校对

每次图片路径都不一样,  filter 过滤器

4.内存偏高调试:

1.静态分析 2.instrument leaks 测试

平常开发时候看下内存; 一般不会超过100M ; 播放视频时 80M ; 突然标高, 1.检查代码有没有内存泄漏

5.多线程:

GCD  / NSOperation / NSThread ;

优势:  GCD 纯c的API, 简单快捷, 直接block 里面写我们的代码 ;

用到的地方 : 返回主线程刷新UI

NSOperation :  基于GCD的封装,

NO.4

1.微信按钮实现: 事件处理

录音是一直在录的;

事件添加使用的 addTarget :  通过ControlState 判断;  UIControlEventTouchDown    UIControlEventTouchUpOutside  UIControlEventTouchUpInside    UIControlEventTouchDragExit

UIControlEventTouchDragEnter  ;

不用通过判断手指位置, 来做;

2.treeNode 遍历

3.swift 知识:

属性是否为可选类型,你可以在 weak (值可以为nil)和 unowned 之间进行选择。

4.蓝牙知识:

App < ——  CoreBluetooth 框架:  <—— 低功耗协议栈上面

1.外设peripheral:  向中心设备发送数据

2.中心设备central: 可以从外设读取数据, 也可以向外设写入数据

关键词:

广播:  外设不停的散播蓝牙信号, 中心设备可以扫描到

服务(services): 外设广播和运行的时候有服务;  即—— 一种功能,中心设备可以读取服务.

外设可以有多个服务

特征(characteristic): 服务  的一个单位, 一个服务可以有多个特征; 特征—— value ; 读取数据就是value 值;

UUID : 区分不同的服务services和特征characteristic;

5.wifi 路由

首先: 需要像苹果申请权限;

ios9之后,  NetworkExtension :  可以给系统wifi列表里的wifi 设置密码, 标签; 还可以获取总个wifi 列表

一些相关属性:

SSID : WIFI 名称      BSSID : 站点的MAC地址

signalStength : wifi 信号强度, 该值在 0 -1NO.1

1.播放器hud 动画有没有卡顿 ;

没遇到——    不过,我使用的CoreAnimation , 尽量不要添加阴影效果

2.uiview 的周期 :  initwithcoder    / awakfrom  / loadView / viewdidload / viewwillappear / viewwilllayoutsubviws / viewdidlayoutsubviews / viewdidappear  / viewweilldisppear / viewdiddisappear

3.自动释放池:

3.程序崩溃情况:

有集成bugly ; 收集奔溃 / 卡顿信息 ;

数组越界 / 插入了空值 nil 的 /  SEGV_ACCERR : 异常进程线程的  /

NO.2

1.kvo 底层:

基于runtime 机制 ; 底层会动态创建当前类的派生类, 重写被监听属性的 setter 方法;

在setter 方法里面, 添加  [ sefl valuewillchangefokey]  [self valuedidchangeforkey]

触发  observalueforkeypath: ofobject :  context:

项目使用: 1.画笔bacK / resume 2.视频熟悉 3.视频连线滑动

2.通知 ; 是同步 ; 只有执行完当前任务, 才会继续执行

项目使用: websocket

3.rumtime :  oc 是动态语言, 方法的调用在底层就是消息发送;

运用场景(例子): 1. 未分类添加属性  ,  2.模型解析

项目中的使用:

4.rac 原理:

5.项目亮点:

1.画笔封装: kvo监听—--状态的改变 (返回前进)

基类封装 ——  RVBaseBrush  (公用的 属性:  起点 / 终点 线宽 颜色  bezirPath  方法 子类实现: (生成传给后台的参数  getDrawArguments )  ; )-> RVFreedomBrush RVTectagleBrush RVCircleBrush RVArrowBrush

RVDrawBoard —      UIBesierPath 画线 ; drawRect:  [self setNeedDidplay] 刷帧;

touchBegain

2.视频寻帧: seek —  seekToTime:time toleranceBefore seekToTime:time toleranceBefore

视频播放器封装  :  —  controle  , layer 层 ;  hud ;

status , loadtimerange , 属性监听 ;  playbackBufferFull  rate

播放器初始化:  AVURLAsset ,  然后异步加载 loadValuesAsynchronouslyForKeys

@“playable”  — 是否可以播放; 然后做初始化  palyer , playerItem

添加时间监听 (没有用NSTimer) —  addPeriodicTimeObserverForInterval

NO.3

1.账号密码保存方式:  userdefault  , 归档 , keyChain  ;

keyChain : 保存在设备中,独立于每个App沙盒之外;

1.安全 2.即使App卸载 ,存储信息依旧存在,再次安装App,可以依旧使用

3.相同的 AppleId 开发, 可以实现多个App共享数据

2.视频退出后, 有能继续听到声音 1~3s,  要先pause

3. 不同图片,同一url; 怎么做更新; 图片MD5 校对

每次图片路径都不一样,  filter 过滤器

4.内存偏高调试:

1.静态分析 2.instrument leaks 测试

平常开发时候看下内存; 一般不会超过100M ; 播放视频时 80M ; 突然标高, 1.检查代码有没有内存泄漏

5.多线程:

GCD  / NSOperation / NSThread ;

优势:  GCD 纯c的API, 简单快捷, 直接block 里面写我们的代码 ;

用到的地方 : 返回主线程刷新UI

NSOperation :  基于GCD的封装,

NO.4

1.微信按钮实现: 事件处理

录音是一直在录的;

事件添加使用的 addTarget :  通过ControlState 判断;  UIControlEventTouchDown    UIControlEventTouchUpOutside  UIControlEventTouchUpInside    UIControlEventTouchDragExit

UIControlEventTouchDragEnter  ;

不用通过判断手指位置, 来做;

2.treeNode 遍历

3.swift 知识:

属性是否为可选类型,你可以在 weak (值可以为nil)和 unowned 之间进行选择。

4.蓝牙知识:

App < ——  CoreBluetooth 框架:  <—— 低功耗协议栈上面

1.外设peripheral:  向中心设备发送数据

2.中心设备central: 可以从外设读取数据, 也可以向外设写入数据

关键词:

广播:  外设不停的散播蓝牙信号, 中心设备可以扫描到

服务(services): 外设广播和运行的时候有服务;  即—— 一种功能,中心设备可以读取服务.

外设可以有多个服务

特征(characteristic): 服务  的一个单位, 一个服务可以有多个特征; 特征—— value ; 读取数据就是value 值;

UUID : 区分不同的服务services和特征characteristic;

5.wifi 路由

首先: 需要像苹果申请权限;

ios9之后,  NetworkExtension :  可以给系统wifi列表里的wifi 设置密码, 标签; 还可以获取总个wifi 列表

一些相关属性:

SSID : WIFI 名称      BSSID : 站点的MAC地址

signalStength : wifi 信号强度, 该值在 0 -1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,504评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,024评论 4 62
  • 什么是爱情 是牵手走过的雪地 连脚印都依偎在一起
    眠辞阅读 134评论 0 0
  • 9.21下午,余杭项目结束,赶赴下一个目的地萧山的间隙,我们来到了杭州市市民中心。杭州G20峰会时,杭州市市...
    冀泰来阅读 3,908评论 4 3
  • 因为工作调动关系,我打算在中国内陆二线城市南昌租个单间或者一室一厅。因为只有半年的时间,而且公司在南昌开拓市场,平...
    凭轩听雨fiona阅读 237评论 0 1