总结一下js下的原型链与iOS的isa: js 原型链:obj.__proto__ 跟 Object.prototype 是一样的。可以理解为当前类的“父类”。obj.constructor 是当前实例对象的“根类”,举例:Son.prototype = new PerSon() ,PerSon.prototype = new Animal();那么,son.constructor 是 function Animal(){}。 iOS isa: 实例isa 指向当前类,当前类的isa 指向元类(因为iOS类其实也是对象,只不过一般不这样叫,元类保存类方法),元类的isa指向NSObject,NSObject 的isa指向自己,当前类的父类是superClass,当前元类的父类是superMetaClass,当前任何类与元类都不同。只有[NSObject isKindClass:[NSObject class]] 是true,因为isKindClass会向上找父类。 如有不对,欢迎指正
展开
评论
Vue大佬们,请教一下,Vue项目下只创建一个Vue对象,这个对象管理着所有的.vue文件下的各种数据的双向绑定?还是我理解的有问题?如果都在这一个对象里保存,是不是太臃肿了?
评论
iOS 大佬们,我有个问题请教一下:MRC 下 alloc 出来的对象是需要手动release 的,因为这样初始化出来的对象没有加入到自动释放池,但是后面调用autoRelease 的话这个对象就添加进入自动释放池了,那么,这个对象就被延迟释放了,时机由runloop决定。ARC下alloc出来的对象也不是进入自动释放池,而是当它出了作用域之后系统会让他执行一把release,引用计数-1。当一个方法里有大量的内存被占用的时候,为了及时释放内存一般也会添加autoReleasePool,它的目的是为了什么?如果创建的对象不在加入自动释放池里,它是怎么做到及时释放的?
展开
评论
中了,大家的掌声在哪里?
头疼脑胀的代码搬运工于2021-09-16 08:08发布的图片
7
下一页
个人成就
文章被点赞132
文章被阅读10,501
掘力值236
收藏集
5
关注标签
0
加入于