一、什么是回调函数?回调函数,本质上也是个函数(搁置函数和方法的争议,就当这二者是一回事)。由“声明”、“实现”、“调用”三部分组成。在上面的例子中,我可以看出,函数amount(其实是Block),的声明和调用在A类中,而实现部分在B类中。也就是说,B类实现了amount函数,但并没有权限调用,最终还是 由A类触发调用。我们称这样的机制为“回调”。...
分类:
其他好文 时间:
2016-04-19 20:02:05
阅读次数:
223
引用自 http://www.cocoachina.com/ios/20160323/15770.html 1.循环引用的产生和解决 产生:对象A和对象B相互引用了对方作为自己的成员变量,只有自己销毁的时候才能将成员变量的引用计数减1。对象A的销毁依赖于对象B的销毁,同时对象B销毁也依赖与对象A的销 ...
分类:
移动开发 时间:
2016-04-18 20:18:36
阅读次数:
161
在block中常常会用到self,可是会造成循环引用。这时候就需要这样来解决这个问题: ...
分类:
移动开发 时间:
2016-04-15 15:26:51
阅读次数:
176
在介绍block循环引用前我们先了解一下typeof。 typeof是什么??? typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。 它返回值是一个字符串,该字符串说明运算数的类型。 一、对于数字类型的操作数而言,typeof返回的值是number。比如说:typeof(1), ...
分类:
移动开发 时间:
2016-04-13 18:30:41
阅读次数:
199
RAII:资源分配及初始化。但是这个翻译并没有显示出这个惯用法的真正内涵。RAII的好处在于它提供了一种资源自动管理的方式,当出现异常,回滚等现象时,RAII可以正确的释放资源。内存泄漏会导致:1.内存耗尽2.其他程序可能用不了了3.程序崩溃在资源的获取和释放之间,我们通常..
分类:
其他好文 时间:
2016-04-07 01:41:25
阅读次数:
204
说是解决,其实不是很完美的解决的,写出来只是想记录一下这个问题或者看一下有没有哪位仁兄会的,能否知道一二。 下面说说出现问题: 问题是这样的,当我查询一个一对多的实体的时候,工具直接就爆了,差不多我就猜到是哪里死循环了,最后等了好久,查看原因,果然是堆溢出,再然后是jsckson的错误。那么必然是序 ...
分类:
其他好文 时间:
2016-04-06 14:51:05
阅读次数:
2480
避免block中循环引用,内存释放不了的问题,规范编码很重要。 相对来说,在block中操作self时,正确的使用姿势。 ...
分类:
移动开发 时间:
2016-04-05 19:12:27
阅读次数:
159
今天让我们来分析一下C++中的智能指针和异常,首先呢先普及一下概念!(1)智能指针:智能或者自动化的管理指针所会向的动态资源的释放。(2)异常:当一个函数发现自己无法处理的错误时,让函数的调用者直接或间接的处理这个问题。(3)RAII:资源分配即初始化。构造函数完成..
分类:
其他好文 时间:
2016-04-04 21:07:08
阅读次数:
210
API Reference对__block变量修饰符有如下几处解释: 大概意思归结出来就是两点: 1.__block对象在block中是可以被修改、重新赋值的。 2.__block对象在block中不会被block强引用一次,从而不会出现循环引用问题。 API Reference对__weak变量修 ...
分类:
其他好文 时间:
2016-04-03 23:39:10
阅读次数:
255
1.解决循环引用: __weak __typeof(self) weakSelf = self; 2.设置segmentedControl: 3.学会使用子控制器: 4.设置控制器的动画: 5.给导航栏去阴影: ...
分类:
其他好文 时间:
2016-04-03 15:58:18
阅读次数:
146