1.KVC:Key Value Coding
对一个属性或变量赋值的方法除了使用点语法,也可以使用KVC方法:
Name即设定的person类中的属性
person.dog.name = @“旺财”;
/** forKeyPath包含了所有forKey的功能,
forKeyPath:可以进行内部的点语法,层层访问内部的访问
forKey:或者forKeyPath中的属性名如果写错,编译器会报错
*/
[person.dog setValue:@“旺财” forKey:@“name”];
[person.dog setValue:@“旺财” forKeyPath:@“name”];
[person setValue:@“旺财” forKeyPath:@“dog.name”];
KVC可以修改类中的私有变量
2.KVO:Key Value Observing
KVO可以用来监听当某个对象的属性值是否发生改变,并作出响应的操作
/**
给对象绑定一个监听器(观察者Observer)
Observer 观察者
KeyPath 要监听的属性
options 选项
*/
[person addObserver:self forKeyPath:@“name” options:NSKeyValueObservingOptionNew context:nil];
// 移除监听
[person removeObserver:self forKeyPath:@“name”];
3.UIScrollView滚动控件
3.1 基本使用思路:
将需要显示的内容添加到UIScrollView
设置UIScrollView的contentSize属性,也就是设置滚动的范围尺寸,若设置的contentSize小于UIScrollView的边框大小则无法滚动
3.2 UIScrollView无法滚动的原因
没有设置contentSize或者设置的contentSize小于原边框大小
scrollEnabled(能否滚动)或者userInteractionEnabled(UIView,能否交互)属性被设置为NO;