获取键值监听到的值
来源:互联网 发布:如何恢复电脑网络设置 编辑:程序博客网 时间:2024/06/04 01:12
本文中我是想让一个collectionview内容变化时高度跟随变化,第二步取值时是需要注意的
1.监听
[selectedColl addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
2.实现observeValueForKeyPath方法
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context { NSLog(@"keyPath:%@ object:%@ change%@ context%@", keyPath, object, change, context); //NSConcreteValue id value = [object valueForKey:keyPath]; NSAssert([value isKindOfClass:[NSValue class]], @"监听到的value不是NSValue类型"); NSAssert(strcmp(@encode(CGSize), [value objCType]) == 0, @"监听到的value不是CGSize类型"); //取出value CGSize unwrappedValue; [value getValue:&unwrappedValue]; selectedH.constant = unwrappedValue.height;}
取值方法来自于https://stackoverflow.com/questions/4615966/what-is-an-nsconcretevalue-and-how-do-i-extract-its-value
3.页面销毁时移除监听
- (void)dealloc { [selectedColl removeObserver:self forKeyPath:@"contentSize"]; NSLog(@"页面销毁");}
阅读全文
0 0
- 获取键值监听到的值
- KVO的使用(键值监听)
- android中listView监听中获取监听到的内容
- iOS-键值编码和键值监听的理解和实现
- iOS中键值监听KVO的学习
- KVO与KVC键值监听的机制
- RegQueryValueEx函数不能获取到键值?
- iOS 监听蓝牙键盘动作(监听键盘的键值)
- iOS 监听蓝牙键盘动作(监听键盘的键值)
- 获取键盘对应的键值
- JavaScript 方向键值的获取
- JQ获取鼠标的键值
- “发送到”对应的键值
- iOS监听模式系列之键值编码KVC、键值监听KVO的简单介绍和应用
- Map:containsKey、containsValue 获取Map集合的键值的 值
- 获取键值
- KVO(键值监听模式)
- OC键值监听(KVO)
- iOS-------18位社会信用代码验证
- IDEA修改toString方法模板为JSON格式
- 新路程------hi3516a的uart rts cts功能
- 优秀是可以锻炼的
- HTTP协议(1)入门-协议介绍
- 获取键值监听到的值
- 敏捷趣味回顾会议-回顾
- 软件工程概览
- 经典SQL语句大全
- iPhone8无线充电怎么实现?
- Redis系列之key操作命令与Redis中的事务详解(六)
- 怎么理解递归
- SSH综合项目实战(快递) -- day10 activeMQ、JQueryEasyUI行编辑功能
- git流程图