WeiJiaBing

Results 2 issues of WeiJiaBing

25. _objc_msgForward 函数是做什么的,直接调用它将会发生什么? 中的小总结: _objc_msgForward在进行消息转发的过程中会涉及以下这几个方法: 1 resolveInstanceMethod:方法 (或 resolveClassMethod:)。 2 forwardingTargetForSelector:方法 3 methodSignatureForSelector:方法 4 forwardInvocation:方法 5 doesNotRecognizeSelector: 方法 有点不对: 1 resolveInstanceMethod:方法 (或 resolveClassMethod:)。不属于_objc_msgForward,属于_class_resolveMethod

32. objc使用什么机制管理对象内存? 1、通过 retainCount 的机制来决定对象是否需要释放。 2、每次 runloop 的时候,都会检查对象的 retainCount,如果retainCount 为 0,说明该对象没有地方需要继续使用了,可以释放掉了。 第2句应该这么说: 其实是每次release时候检查retainCount减一,当为0时候释放对象。 然后再说release对象的各种情况: 一、对象成员变量 1、这个对象dealloc时候,成员变量objc_storeStrong(&ivar,nil) release 二、局部变量变量的释放 分情况: 1、strong obj变量,出了作用域{},就objc_storeStrong(obj,nil) release对象; void objc_storeStrong(id *location, id obj) { id prev...