温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好嘞,各位复习完了这个DeFine property方法之后呢,我们去给数据代理啊,下一个定义啊,就到底什么是数据代理啊,然后呢,咱们再去看看view当中是如何应用数据代理这个技术的啊,那应用了它有什么好处对不对?好,回到第二个里边啊,读一下数据代理的定义,说通过一个对象代理对另一个对象中属性的操作,就叫数据代理。当然啊,操作呢,是包含读和写的,对吧?各位比如说举个例子啊,我有一个对象叫做OBJ啊,然后呢,它有一个属性啊是X,那以后我想访问X,那就OBj.X呗,我想改那就Oj.X然后赋值就可以了,是吧。然后我还有一个对象啊叫OBJ2,我想让OBJ2啊也能访问到这X。而且我也希望OBJ2以后呢,也可以去修改这个X,那你觉不觉得就是诶通过一个对象谁呢?OBJ2代理对另一个对象谁呢?OBJ中,诶属性的操作是吧?好,那咱写一下这段代码啊走,首先呢,准备好两个对象是OBJ里边有个X值是100,好,我再写一个是OBJ2里边呢,换一个吧,随便写一个Y,比如说呢,让它是200,好想通过OBJ2能读到X,还能修改这个X,那你就得这么写了啊,我就直接写了,借助object点这个DeFine property,然后呢,看着操作OBJ2,给它追加一个属性,属性名叫X。
01:32
哎,对,就跟那个OBJ里那个X是同名的,好,随后呢,去写get和先写这个里边我做一件事,我把OJ的X给它交出去是不就可以了。以后当有人通过OBBG2访问X的时候,其实给他的是谁呀?OBG的X,那同理呗,我再写一个东西叫做塞就搞定了,塞呢,会收到Y6值。那如果以后塞调用了,那就意味着有人想更改OBJ2的X,那我里边要做什么事儿呢?那就把OBJ的那个X啊给它改掉值,那就是Y6是不是就可以了?同学,这就是一个最简单的数据代理,你说对不好,我们去验证一下,打开控制台走刷新一下,首先验证啊,OBJ身上没有X有,OBJ2身上没有X有,那我们再看一眼OBJ2同学,你发现有自己本来就有的这个Y200,然后你看里边各位有没有X有,而且还有为X所服务的谁get还有啥赛好了,那我们去操作一下啊,obj2.x读,肯定是能读出来了,刚才就读完了啊,obj2.x改,比如说改成300,那你看一下OBJ身上的X变不变呢?是不是也变呀,同学,这不就是数据代理吗?
02:47
是吧,哎,我知道你通过OBJ可以操作X,但是现在高级了,我通过OBJ2是不是也可以去操作这个X呀,是不好,这就是数据代理的这么一个定义啊好,那我们把它呢,关掉这一小节呢,我们停。
我来说两句