iOS之xib和Storyboard加载原理 发表于 2018-09-27 | 分类于 iOS 为了说明加载的过程,我们通过解析UIViewController实例化到呈现给我们能看到视图这中间的过程 UIViewController也可以没有xib和StoryBoard进行实例化,这里我们分析的是带有xib或StoryBoard的情况 不管xib还是Storyboard苹果都给给我们提供了 ... 阅读全文 »
iOS之Masonry代码解析 发表于 2018-09-21 | 分类于 iOS 背景iOS平台上Autolayout布局对于屏幕的适配简直就是一把利剑,如果用xib或Storyboard进行布局对于每个人来说肯定是得心应手。不过如果对于纯代码布局的人来说,使用苹果苹果原生的api写过的人都知道是非常复杂的。所以Masonry横空出世,此框架主要是针对苹果Autolayout原生 ... 阅读全文 »
iOS之VVeboTableView性能探究之路 发表于 2018-09-04 | 分类于 iOS 背景话说如果项目越来越复杂,页面随之也会变得复杂,最终导致的就是性能优化问题。性能优化方面也是比较多的,我们通过研究VVeboTableView这个项目的优化点进而学习优化思路。 其实项目优化最终仅仅就是一个目的,页面流畅度达到60FPS,这个项目通过优化甚至在低端机都表现良好,接下来就让我们深入探 ... 阅读全文 »
C语言基础 发表于 2018-08-21 | 分类于 iOS static 存储类static 存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。因此,使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。 static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的 ... 阅读全文 »
iOS完美实现微信朋友圈视频截取 发表于 2018-07-13 | 分类于 iOS 序言微信现在这么普及,功能也做的越来越强大,不知大家对于微信朋友圈发视频截取的功能或者苹果拍视频对视频编辑的功能有没有了解(作者这里也猜测,微信的这个功能也是仿苹果的)。感觉这个功能确实很方便实用,近来作者也在研究音视频功能,所以就实现了一下这个功能。 功能其实看着挺简单,实现过程也踩了不少坑。一方 ... 阅读全文 »
iOS12中推送通知新特性 发表于 2018-06-26 | 分类于 iOS 序言众所周知,iOS中消息推送扮演了不可或缺的位置。不管是本地通知还是远程通知无时不刻的在影响着我们的用户体验,以致于在iOS10的时候苹果对推送大规模重构,独立了已UserNotifications和UserNotificationsUI两个单独的framework,可见重要性一斑。针对于WWDC ... 阅读全文 »
iOS读YYModel源码之_YYModelMeta实例过程 发表于 2018-06-06 | 分类于 iOS 序文上一篇iOS读YYModel源码我们窥探了Json转Model的全过程,不过还差一步_YYModelMeta实例化的过程,所以此文专门针对性的解读_YYModelMeta实例化过程 解读1_YYModelMeta *modelMeta = [_YYModelMeta metaWithClass: ... 阅读全文 »
iOS读YYModel源码 发表于 2018-06-05 | 分类于 iOS 序文在众多的json转model的第三方库中,YYModel可谓是表现出了优异的性能,那到底它是底层是如何实现的呢?带着这份好奇心,开启了我们读取YYModel源码之路 源码解读YYModel类图此图可以点击放大,查看高清图。 通过以上类图,我们可以清晰的看到了YYModel整个框架的设计,不得不 ... 阅读全文 »
iOS视频全屏播放动画的实现 发表于 2018-05-17 | 分类于 iOS 序言相信大家手机中肯定会装一款看小视频的软件,毕竟现在小视频这么火嘛。不过作为开发人员除了关心视频新闻等信息外,当然也会关注人家具体怎么实现嘛。视频播放的话作者已经封装了一个单独的视频播放器控件FOFMoviePlayer,还没来得及写一篇文章详细介绍,望见谅哈。这次实现的就是视频播放的全屏播放效果 ... 阅读全文 »
iOS中Block循环引用刨根问底 发表于 2018-05-07 | 分类于 iOS 序言Blocks是苹果出的轻量型回调方式,使用起来既简洁,又方便。不过就是会产生一个问题:循环引用。进而会导致内存释放不了,造成内存泄漏。那到底怎么样才会产生循环引用呢?如何解决呢? 这篇文章我们就用多个案例从本质上去解析到底啥是循环引用 案例解析1typedef void(^Blk_t)(void ... 阅读全文 »