在EF中,EF生成的对象都是代理对象,这些对象看上去是实体类对象,但是其实都是EF封装好的代理类对象。所以调用EF查询得到的代理类对象有继承于实体对象,所以可以用实体类对象来接收返回的代理类对象。EF实体对象包括了外键属性,所以在对EF查询到的对象进行序列化时,因为存在循环引用,会导致序列化出错(J ...
分类:
其他好文 时间:
2016-12-12 14:34:42
阅读次数:
162
问题 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: 那么请问:什么时候在 block 里面用 self,不需要使用 weak self? 答案 当 block 本身不被 self 持有,而被别的对象持有,同时 ...
分类:
移动开发 时间:
2016-12-08 09:45:07
阅读次数:
425
问题 有没有这样一个需求场景,block 会产生循环引用,但是业务又需要你不能使用 weak self? 如果有,请举一个例子并且解释这种情况下如何解决循环引用问题。 答案 需要不使用 weak self 的场景是:你需要构造一个循环引用,以便保证引用双方都存在。比如你有一个后台的任务,希望任务执行 ...
分类:
移动开发 时间:
2016-12-08 09:36:37
阅读次数:
190
问题 继续回答昨天的问题第二问。 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: 那么请问:为什么 block 里面还需要写一个 strong self,如果不写会怎么样? 答案 在 block 中先写一个 s ...
分类:
移动开发 时间:
2016-12-08 09:35:07
阅读次数:
275
一、Block block的内部引用了对象的属性或者方法,导致block保留了对象,同时对象又保留了block,形成循环引用。 解决方案是,在ARC中采用__weak对对象进行弱化,在非ARC中采用__block对对象进行弱化。如下: 二、NSTimer 类拥有一个_timer属性,_timer的t ...
分类:
其他好文 时间:
2016-12-07 07:46:28
阅读次数:
207
循环引用,看我就对了 我是一头来自北方的羊,咩-咩-咩-!谈到循环引用,不知道你能想到什么?可能是delegate为啥非得用weak修饰,可能是block为啥总是需要特殊对待,你也可能仅仅想到了一个weakSelf,因为它能帮你解决99%的关于循环引用的事情。本文中,我将谈一谈我对循环引用的看法。 ...
分类:
其他好文 时间:
2016-12-06 20:06:59
阅读次数:
287
在实际开发中,很多时候都在 block 中使用 weakSelf。那么什么时候需要使用 weakSelf,什么时候又不需要使用呢? 答案:当 block 不再被 self 持有,被其他对象所持有的时候,就不需要使用 weakSelf,举个例子,我们使用 UIView 的动画的时候,也就是 anima ...
分类:
其他好文 时间:
2016-12-02 02:20:28
阅读次数:
128
概览: 主要通过 引用计数来进行垃圾收集, 就是说,当一个对象没有被其他对象引用的时候,会释放掉内存。 但是会有一些循环引用的对象,通过上面的方法,是没有办法清除掉的。所以,python还有另外的一个机制来解决这个问题,那就是标记-清除。 标记-清除: 主要过程为, 扫描所有容器对象(不会扫描int ...
分类:
编程语言 时间:
2016-11-30 02:14:49
阅读次数:
142
二.内存管理2.1 循环引用说明:如果循环引用中包含 DOM 对象或者 ActiveX 对象,那么就会发生内存泄露。内存泄露的后果是在浏览器关闭前,即使是刷新页面,这部分内存不会被浏览器释放。简单的循环引用:var el = document.getElementById('MyElement'); ...
分类:
其他好文 时间:
2016-11-28 00:24:22
阅读次数:
185
解决Eclipse中Java工程间循环引用而报错的问题 如果我们的项目包含多个工程,而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息: “A cycle was detected in the build path of project: XXX” 解决方法非常简单: ...
分类:
其他好文 时间:
2016-11-23 12:46:17
阅读次数:
135