原文:iOS 面试题(二):什么时候在 block 中不需要使用 weakSelf --转自唐巧

问题 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: 那么请问:什么时候在 block 里面用 self,不需要使用 weak self 答案 当 block 本身不被 self 持有,而被别的对象持有,同时不产生循环引用的时候,就不需要使用 weak self 了。最常见的代码就是 UIView 的动画代码 ...

2016-12-08 08:35 0 4760 推荐指数:

查看详情

什么时候block不需要使用weakSelf

什么时候block不需要使用weakself 问题 我们知道,在使用block时为了避免循环引用,通常需要使用weakself与strongself,例如: 那么什么时候block里调用self,不需要使用weak self呢? 答:在block本身不被self持有,而被别的对象 ...

Fri Dec 02 17:53:00 CST 2016 0 1448
iOS 面试题(一):寻找最近公共 View --

题目:找出两个 UIView 的最近的公共 View,如果不存在,则输出 nil 。 分析:这其实是数据结构里面的找最近公共祖先的问题。 一个 UIViewController 的所有 view 之间的关系其实可以看成一颗树,UIViewController 的 view 变量是这颗树的根 ...

Thu Dec 08 16:32:00 CST 2016 0 1932
IOS 看懂此文,你的block再也不需要WeakSelf弱引用了!

前言: 最近都在折腾 Sagit 架框的内存释放的问题,所以对这一块有些心得。 对于新手,学到的文章都在教你用:typeof(self) __weak weakSelf = self。 对于老手,可能早习惯了到处了WeakSelf了。 这次,就来学学,如何不用WeakSelf ...

Tue Jan 09 23:49:00 CST 2018 4 4988
iOS学习(面试题): - Objective-C 的内存结构

一个 Objective-C 对象的内存结构是怎样的? 如果把类的实例看成一个C语言的结构体(struct),它首先包含的是一个 isa 指针,而类的其它成员变量依次排列在结构体。排列顺序如下图所示: 为了验证该说法,我们在Xcode中新建一个工程,在main.m运行 ...

Thu Mar 02 07:39:00 CST 2017 0 1380
经典面试题:为什么 ConcurrentHashMap 的读操作不需要加锁?

我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢? ConcurrentHashMap的简介 “我想有基础的同学知道在jdk1.7是采用 ...

Tue Jul 14 18:43:00 CST 2020 0 1398
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM