逆向工程进阶

前言如果您是iOS开发,具备相应的开发储备,除了需要了解逆向的基础,同样需要知道程序的运行原理。 下面会介绍逆向工程相关的进阶知识,理论知识比较枯燥,但是确实必须要掌握的。

技术

逆向工程基础

逆向工程简介iOS 逆向工程,是指从目标应用的界面以及功能表现入手,使用不同工具和理论知识去分析其实现原理,得出应用的代码结构、整体设计、功能实现、执行流程等,然后利用iOS的系统知识和语言特性,借鉴或修改原有实现流程的技术。

技术

Runtime介绍(一)

Runtime简介Runtime 又叫运行时,是一套底层的 C 语言 API,是 iOS 系统的核心之一。开发者在编码过程中,可以给任意一个对象发送消息,在编译阶段只是确定了要向接收者发送这条消息,而接受者将要如何响应和处理这条消息,那就要看运行时来决定了。

技术

ObjectMapper实践(一)

前言在OC阶段使用模型转换的框架有很多,代表有:JSONModel、 YYModel、MJExtension。OC的原理主要是通过runtime 获取类的属性,在运行时获取Model的字段名集合,遍历该集合,拿Key去JSON中取值并完成赋值。而且Swift 的属性默认并不是动态属性,**我们能在运行时获取一个Model实例的所有字段、字段值,但却无法给它赋值。**事实上,我们拿到的value是原值的一个只读拷贝,即使获取到这个拷贝的地址写入新值,也是无效的。OC的转换方式虽然在OC中完全适用,但是缺点也很严重,一方面只能只能继承 NSObject ,并不支持Struct;还有一个更严重的问题,optional 的属性不能正确解析,反正坑还是挺多的。

技术

iOS GIF图片的加载和合成

写在前面的 不拘一世之利以为己私分,不以王天下为已处显。显则明。万物一府,死生同状。

技术

关于iOS 多线程的问题

写在前面的话ReactiveCocoa 5.0 看了两天,真是看的要吐血,网上基本上没有中文的文章,然后就只能看看git上的readme,看的晕乎乎的。我感觉ReactiveCocoa 的swift上手难度比OC要难很多,然后我看见了一个很有意思的博客主。@没故事的卓同学 膜拜一下大神 🐶🐶 我有书半卷,逍遥曰化形。挥请仙佛退,送与鬼神听。副墨闻于讴,参寥传玄冥。一指掩天地,齐物自忘情。

技术