- MRC模式下,block默认是存档在栈中的,随时可能被系统回收,进行copy操作,就可以将block放在堆中,形成互相指引的效果,当然此时需要注意block闭环引起的内存泄露问题。如果使用retain操作,只会使其引用计数+1,block内存还是在栈中,并没有转移到堆上。
- ARC模式下,使用copy或者strong,其效果是一样的,编译器自动对block进行了copy操作。如果用copy修饰block,也是提醒我们:编译器自动对block进行了copy操作,不用copy修饰也可以,如果使用者在使用之前对其自行copy的话,就显得多余而低效。
对Block用copy修饰的理解
最新推荐文章于 2019-03-14 15:46:27 发布