2022年4月28日
摘要: 一、objc_class 的内部结构 详情见:https://juejin.cn/post/7090843696953819172/#heading-0 二、ro ,rw ,rwe三个结构体的理解 1.class_ro_t class_ro_t是在编译的时候生成的。当类在编译的时候,类的属性,实例方 阅读全文
posted @ 2022-04-28 21:57 suanningmeng98 阅读(128) 评论(0) 推荐(0) 编辑
  2022年4月26日
摘要: 一、类的本质以及类的对象 Class class1 = [ LGPerson class ]; Class class2 = [ LGPerson alloc ]. class ; Class class3 = object_getClass ([ LGPerson alloc ]); NSLog 阅读全文
posted @ 2022-04-26 21:40 suanningmeng98 阅读(79) 评论(0) 推荐(0) 编辑
  2022年4月21日
摘要: 一、对象的内存分布和影响对象内存的因素 我们先创建一个类,并为其分配属性。 @interface LGPerson : NSObject @property (nonatomic ,copy) NSString *name; @property (nonatomic ,copy) NSString 阅读全文
posted @ 2022-04-21 22:03 suanningmeng98 阅读(31) 评论(0) 推荐(0) 编辑
  2022年4月18日
摘要: 一、底层对象的alloc和init(new = alloc + init) 我们一般在创建对象时,都会通过[X alloc] init]这样的方式创建对象,但是allco的底层是如何调用的,init的作用是什么呢,我们来探索一下: 当我们在通过 alloc 和init分开调用时可以发现,两次init 阅读全文
posted @ 2022-04-18 22:00 suanningmeng98 阅读(55) 评论(0) 推荐(0) 编辑
  2022年2月17日
摘要: 一、认识泛型 1.1 泛型的基本写法 首先我们需要指定一个占位符T,紧挨着写在函数名后面的一对尖括号表示T遵循的协议,其次我们用T来替换任意定义的函数形式参数。 func multiNumInt(x:Int,y:Int)->Int{ return x*y } func multiNumInt<T:F 阅读全文
posted @ 2022-02-17 19:57 suanningmeng98 阅读(103) 评论(0) 推荐(0) 编辑
  2022年2月10日
摘要: 一 协议与继承 class LGTeacher{ var age = 10 var name = "swift" } class LGStudent{ var name = "oc" var score = 100 } 对于上面的两个类来说,如果需要为这两个类都添加一个debug函数,直观的方法是为 阅读全文
posted @ 2022-02-10 17:42 suanningmeng98 阅读(63) 评论(0) 推荐(0) 编辑
  2022年2月4日
摘要: 一、oc-Block与swift闭包相互调用 1.1 swift中调用oc的block //OC //oc .h文件 定义一个方法,Block作为参数 +(void)testBlock:(void(^)(NSInteger index))block; //oc .m文件 实现方法,调用Block + 阅读全文
posted @ 2022-02-04 16:55 suanningmeng98 阅读(104) 评论(0) 推荐(0) 编辑
  2022年2月3日
摘要: 一、函数类型 函数本身也有自己的类型,它由形式参数和返回类型组成,我们以一个例子说明:addTwoInts由于形式参数和返回值类型的不同产生了不同的函数类型,在调用函数时就需要说明调用的是什么形式参数和返回值类型的函数。 func addTwoInts(_ a: Double, _ b: Doubl 阅读全文
posted @ 2022-02-03 16:55 suanningmeng98 阅读(83) 评论(0) 推荐(0) 编辑
  2022年1月28日
摘要: Swift-Mirror源码解析 一、Runtime 1.什么是Runtime(运行时) 运行时刻是指一个程序在运行的状态。也就是说,当我们在打开一些程序在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库"。这些实例可以在它们运行的时 阅读全文
posted @ 2022-01-28 18:50 suanningmeng98 阅读(130) 评论(0) 推荐(0) 编辑
  2022年1月24日
摘要: Swift-Enum&optional 一、Enum(枚举) 1.枚举的基本用法 在swift中通过enum来声明一个枚举类型。 enum LGEnum{ case test_one case test_two case test_three } 我们都知道在c/oc中枚举都是受整数支持的,下面的例 阅读全文
posted @ 2022-01-24 17:04 suanningmeng98 阅读(98) 评论(0) 推荐(0) 编辑