Category的实现原理

Category的底层数据结构Category编译后,其本质是一个结构体struct _category_t { const char *name; // 类名(Person) struct _class_t *cls; // 类对象指针(指向Person类对象) const struct _method_list_t *instance_methods; // 实例方法

- 阅读全文 -

iOS App运行时Crash解决方案

目标:在App运行时发生Crash,自动进行保护或修复,让App流畅运行,不至于闪退退出;iOS常见的Crash包括:字典Crash数组Crash字符串异常解决方案:void swizzleMethodWithMetaClass(Class cls, SEL originSelector, Method oriMethod, SEL swizzleSelector, Method swizzled

- 阅读全文 -

安装jenkins

更新软件包列表 sudo apt-get update由于jenkins使用的是java8, 默认如果版本不匹配,会出现jenkins.service - LSB: not Start Jenkins at boot time安装openjdk-8-jdk sudo apt-get install openjdk-8-jdk查看java版本,看看是否安装成功:java -version 或 jav

- 阅读全文 -

Dart中参数的定义

参数的两种形式:1:必要参数void enableFlags(String name, int sex) {...} 2:可选参数2.1 命名参数(使用 {参数1, 参数2, …} 来指定命名参数)void enableFlags({bool? bold, bool? hidden}) {...} 2.2 命名参数中添加必须参数,添加关键词requiredvoid enableFlags({boo

- 阅读全文 -