在main中的代码如下 创建Tabbar文件夹,并创建buttom_navigator_widget文件,使用快捷键(stl)创建StatefulWidget代码。可以根据需...
前言 应用在运行以后,只要有触发事件(点击按钮),应用程序就会立刻做出相应的反应,如果不对它进行操作,应用程序就像静止了一样。给我们的感觉就像应用一直处于随时待命的状态,在没...
获取isa指向的Class,如果person是实例对象,获取得是类对象。如果person是类对象,获取得是元类对象object_getClass(person)获取父类cla...
Class内部结构中有个方法缓存(catch_t),用散列表来缓存曾经调用过的方法,可以提高方法的查找速度。 class_ro_t和class_rw_t的区别 class_r...
在arm64架构之前,isa就是一个普通的指针,存储着Class、Meta-Class对象的内存地址。在Runtime源码中可以看到 从arm64架构开始,对isa进行了优化...
底层数据结构 创建一个命令行项目,在main函数中定义一个Block并进行调用 在控制台中输入:xcrun -sdk iphoneos clang -arch arm64 -...
苹果在iOS13中为iPhone引入了深色模式,所有 UIKit 本身所提供的 UI 控件(例如 UIView,UILabel,UITextView等等) ,只要没有针对颜色...
KVO可以用于监听某个对象属性值得改变。 _NSSet*ValueAndNotify的内部实现:调用willChangeValueForKey:调用原来的setter实现调用...
为什么要动态链接 动态链接及优点 动态链接思想:把程序的模块相互分割开来,形成独立的文件,而不再将它们静态地链接在一起,等到程序运行时才进行链接。 优点一:对于共享的目标文件...
计算机是由CPU、内存和外部设备组成的。CPU负责数据处理,内存负责存储,外部设备负责数据的输入和输出,它们之间通过总线连接在一起。CPU主要是由控制器、运算器和寄存器组成的...
[ [ ...]] [-options [option value]] [argument [argument...]] 例如 : breakpoint set -n ...
Xcode动态调试原理 动态调试就是将程序运行起来,通过下断点、打印等方式查看参数、返回值、函数调用流程等。 Xcode的调试器发展历程:GDB -> LLDB ,LLDB...
在开发过程中,我们很少会去关注编译和链接过程,Xcode会自动处理将编译和链接合并到一起来生成一个可执行文件,下面我们来分析一下Xcode为我们做了那些事情。 预编译 1.p...
逆向可以使我们更加深入地了解APP运行原理,是怎样编译、链接、注入到手机中运行。Theos是提供我们开发应用插件的越狱开发工具包,使用它可以创建Tweak项目,动态Hook第...
Redux 状态管理的组件库,当我们遇到某个组件的状态需要共享,某个状态需要在任何地方都可以拿到,一个组件需要改变全局状态,一个组件需要改变另一个组件的状态时,Redux是我...
函数组件只需要接受props参数并且返回一个React元素,class组件需要继承component,还需要创建render 并且返回React元素,语法看起来麻烦点。 函数...