以前有个需求,需要监听数组长度的变化。使用KVO直接监听数组本身,由于数组地址并没有发生改变,所以并不能监听到。试了好多方法,都没有能够实现。知道最近听的一场公开课中,才掌握了正确的监听方法 先举个错误的例子 这样会直接报错,NSMutableArray 没有 count ...
一 介绍: KVO是一种能动态监听到属性值的改变的方式,使用场景非常广泛,这里我只讲如何监听控制器ViewController中数组的变化。 二 了解: 首先我们应该知道KVO是不能直接监听控制器ViewController数组的变化的,需要将数组定义在模型中,然后控制器ViewController持有模型对象,通过该对象才能监听。 三 步骤: lt gt 在控制器ViewController类中 ...
2016-11-24 00:25 0 6256 推荐指数:
以前有个需求,需要监听数组长度的变化。使用KVO直接监听数组本身,由于数组地址并没有发生改变,所以并不能监听到。试了好多方法,都没有能够实现。知道最近听的一场公开课中,才掌握了正确的监听方法 先举个错误的例子 这样会直接报错,NSMutableArray 没有 count ...
KVC,即Key-Value Coding,键值编码,简单地说,就是可以由key获取一个object对应的property。举个例子,如果一个对象object,它有一个属性item,你可以通过valu ...
当界面比较复杂时有时会将一个view单独抽取出来作为一个单独的类.但当涉及到控制器的跳转的时候就不得不用代理或者block回调来去父容器的控制器来进行跳转,很不方便.不过发现一个黑科技如下. 创建TestViewRed测试view的类 TestViewRed.h ...
周六加班,真是个让人悲伤的故事。今天改BUG的时候 发现了一个问题,我的控制器注册了几个监听方法。当我pop掉这个控制器的时候,看似是从栈里移除掉了,然而当广播发来的时候,依旧响应了监听方法,这就很尴尬了。于是我跟踪了一下代码,发现当我pop之后根本没有走到deinit方法(swift) 也就 ...
UINavigationController UINavigationControlle:导航控制器,是iOS中最常用的多视图控制器之一,它用来管理多个试图控制器 导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器 ...
我们知道通过Object.defineProperty()劫持数组为其设置getter和setter后,调用的数组的push、splice、pop等方法改变数组元素时并不会触发数组的setter,这就会造成使用上述方法改变数组后,页面上并不能及时体现这些变化,也就是数组数据变化不是响应式的(对上 ...
前言 前段时间学习了关于vue中响应式数据的原理,(并作了学习笔记vue响应式原理),其实是通过Object.defineProperty控制getter和setter,并利用观察者模式完成的响应式设计。那么数组有一系列的操作方法,这些方法并不会触发数组的getter和setter方法 ...
laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件。 打开cmd命令窗口,切换到项目目录,输入下面命令 TestController控制器名可以使任意 php artisan make:controller TestController 打开控制器文件,我们就可以 ...