iOS
文章平均质量分 94
FY_Chao
这个作者很懒,什么都没留下…
展开
-
NSObject对象占用多少内存
标题为啥是8个字节?为啥是16字节?注意题目:一个NSObject对象占用多少内存?首先回答题目:系统分配了16个字节给 NSObject 对象(通过 malloc_size 函数获得)但NSObject对象内部只使用了8个字节的空间(64bit环境下,可以通过class_getInstanceSize函数获得)。为啥是8个字节?接下来我们通过 clang 将代码转换成 C/C++ 代码 结合 「runtime 的源码」 一探究竟。NSObject *obj = [[NSObj原创 2020-08-25 16:49:01 · 438 阅读 · 0 评论 -
WKWebView 入坑指南
WKWebView 入坑指南因项目JS交互需要,同时因为支持的系统开始从iOS 8 之后,所以就打算使用WKWebView替换掉项目中的UIWebView。本篇文章会在使用中持续更新。坑一:在使用测试环境时,因为有时后台返回url并不规范,url不包含scheme时如果调用[self.webView loadRequest:request],app就会直接闪退,直接提示exc bad a...原创 2018-08-03 16:55:02 · 592 阅读 · 0 评论 -
FYTextFieldRestricter——UITextField限制输入
首先给出:本文DemoGithub地址。开发中经常性的和UITextField打交道,常会碰见对输入的限制,作者总结平时碰到过的场景。由此才有这个Demo诞生。 FYTextFieldRestricter通过对UITextField的扩展,提供了包含了输入长度的限制、字母、汉字、数字。UITextField限制输入实现主要是通过target-action监听 UITextField的UIC...原创 2018-09-11 17:41:51 · 148 阅读 · 0 评论 -
记一次iOS启动时间优化
启动时间启动时间是这里指从用户点击 APP 那一刻开始到用户看到第一个界面这中间的时间。以程序的入口main函数为分界点,我们将启动时间分为 pre-main 时间(t1)和 main 函数到第一个界面渲染完成时间(t2)这两个部分。t1时间:是指main函数执行之前,系统加载可执行文件(.o文件集合),然后加载动态链接库dylb(dyld是一个专门用来加载动态链接库的库),dyld从可执行文...原创 2019-02-22 17:41:17 · 654 阅读 · 3 评论 -
ipa的大小压缩优化
ipa的大小压缩优化一个安装包分为二进制代码文件,资源,配置文件。ipa大小优化主要从资源、二进制文件入手。资源类优化图片JPG图片压缩比是最小的,图片去除未使用的图片,最能减少ipa包的大小。JPG格式的图片可使用ImageOption进行无损压缩,降低图片的大小。PNG的XCode的配置CompressPNGFile为YES。同时也可使用ImageOption进行无损压缩。文件资源...原创 2019-02-20 13:43:50 · 532 阅读 · 0 评论 -
记一次组件化的实践过程
起源截至目前组件化在 iOS 也已经有了几年的讨论和应用了,笔者从去年开始公司项目也开始慢慢有意识的往组件化靠拢。因不可能组件化而停止业务的开发所以前期准备是在业务开发的同时有意识的封装和抽取整理一些独立于业务的类等。在接下来的几篇文章会大家分享笔者在组件化过程中的想法和遇到的问题,欢迎大家留言讨论。0x0 前期准备当你想要进行组件化开发的时候,第一步是考虑将公司的项目进行一个大的拆解,了解...原创 2019-06-27 12:46:44 · 171 阅读 · 0 评论 -
raywenderlich.com官方Swift代码规范指南
[TODO]本文翻译于The Official raywenderlich.com Swift Style Guide。目前更新到 Swfit4.2。前言:作为一名开发人员,须知好的代码规范,不仅能够提升代码的可读性、提升开发效率同时也会对让团队间的开发沟通效果得到加强。针对Swift语言raywenderlich.com给出来一份较为完善的开发指南。本文就是基于原文翻译而成。英文水平较好这...原创 2019-09-11 15:26:55 · 512 阅读 · 0 评论