OC_键值编码KVC(Key-Value Coding)
-(void)viewDidLoad{
[super viewDidLoad];
/*
设计模式 – 观察者模式
设计模式是用来解决某一特定问题
观察者模式
什么是观察者模式?
在工程中,一些类去观察‘A’类,当‘A’类发生变化时,这些类就会收到消息,做出相应反应。
什么时候使用观察者模式?
当一个类需要发送消息给多个类的时候,就用观察者模式。
观察者模式的作用?
一对多的消息放送
在OC中如何实现观察者模式?
OC中观察者模式的设计基础 KVC/KVO
KVC (键值编码 Key-Value Coding)
KVC提供了在运行时而非编译时动态访问对象属性与实例变量的方式。
*/
Student *stu1 = [Student new];
[stu1 setValue:@”Leee” forKey:@”_name”];
[stu1 setValue:@25 forKey:@”age”];
[stu1 setValue:@”GZ” forKey:@”_address”];
NSLog(@”%@”,stu1);
//访问
NSString *name = [stu1 valueForKey:@”_name”];
NSNumber *age = [stu1 valueForKey:@”_age”];
NSString *address=[stu1 valueForKey:@”_address”];
//动态访问某些属性时,使用一些可以运行时而不是编译时改变的值
stu1.p1 = 1;
stu1.p2 = 2;
stu1.p3 = 3;
int a= [stu1 getValuePropertyName:@”p1”];
NSLog(@”%d”,a);
int b = [stu1 getNewValuePropertyName:@”p1”];
NSLog(@”%d”,b);
Book *book = [Book new];
// [book setValue:(nullable id) forKey:(non null NSString *)]
//键路径编码
[stu1 setValue:book forKeyPath:@”_book”];
[stu1 setValue:@”少妇白洁” forKeyPath:@”_book.bookName”];
NSString *bookName = [stu1 valueForKeyPath:@”_book.bookName”];
NSLog(@”%@”,bookName);
}
OC_键值编码KVC(Key-Value Coding)相关推荐
- Property属性,amp;nbsp;KVC键值编码OC…
1.属性:帮你自动生成setter 和 getter 方法 属性的声明:(写在.h中) 格式: @property 数据类型 属性名 属性的实现:(写在.m中) ...
- 【字符串】面试题之键值对(”key = valude”)字符串
题目: 键值对("key = valude")字符串,在开发中经常使用: 要求1:请自己定义一个接口,实现根据key获取valude:40分 要求2:编写测试用例.30分 要求3: ...
- Redis 大键值对 Big Key 懒惰删除机制
一.懒惰删除介绍 在删除元素数量很多的集合(set/hash/list/sortedSet)时,无论是使用DEL命令删除还是redis为了释放内存空间而进行的删除,在删除这些big key的时候,会导 ...
- java get key_java如何获取String里面的键值对:key=valuekey=value
我一个朋友帮我写了一个,分享给大家: package com.qtay.gls.common; import java.util.Arrays; import java.util.HashMap; i ...
- java 获取string值_java如何获取String里面的键值对:key=valuekey=value
我一个朋友帮我写了一个,分享给大家: package com.qtay.gls.common; import java.util.Arrays; import java.util.HashMap; i ...
- python取出字典的某个键_python 取出字典的键或者值/如何删除一个字典的键值对/如何遍历字典...
先定义一个字典并直接进行初始化赋值 my_dict = dict(name="lowman", age=45, money=998, hourse=None) 1.取出该字典所有的 ...
- spark编程基础--5.2键值对RDD
键值对RDD的创建 常用的键值对转换操作 reduceByKey(func) groupByKey() keys values sortByKey() mapValues(func) join com ...
- fastjson查找指定键值_分布式键值存储 etcd
引言 前面的文章中,介绍了基于Paxos的ZooKeeper,本文将介绍另一种分布式一致性算法Raft的工业级实现----etcd,它们虽然实现方案不同,但是最终的实现效果都很像,而且etcd相较于Z ...
- React学习(3)——列表、键值与表单
为什么80%的码农都做不了架构师?>>> 本文记录了在官网学习如何使用JSX+ES6开发React的过程. . 全文共分为3篇内容: JSX语法与React组件 状态.事件与动 ...
- Redis中通过bat获取指定前缀开头的所有键值对并输出保存到文件中
场景 需求是查看某一个服务器上的redis的某命名空间(指定前缀开头)的所有键值对的 key和value的数据格式,但是这个服务器上没法连接外网,只能在redis服务端所在 目录下通过bat脚本获取所 ...
最新文章
- 【Python】调用百度云API人脸搜索服务 Face Search
- 八、“看夕阳西下,烂漫秋霞”
- 处女座男生颜值测试软件,颜值在线又绅士的星座男(图)
- Codeforces Round #592 (Div. 2) G. Running in Pairs 构造(水)
- php 内容编码错误,PHP输出缓冲,ob_gzhandler引起的内容编码错误?
- ORM组件XCode(十八般武艺)
- Ansroid系统(262)---MTK安卓sim卡相关源码分析
- 简单手绘背景绘画过程-------树!
- SpringBoot的jar传递参数时,使用两个「--」横线来标记参数
- python基础语法加爬虫精进_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...
- resiprocate 之repro使用
- 从零实现深度学习框架——计算图运算补充
- 【版本控制】如何从github 上获取源码
- 45、我的C#学习笔记11
- 腾讯云 短信验证码 php,php腾讯云短信验证码
- python 登录人人网爬取源码
- 并查集-A Bug's Life(poj2492)
- redis哨兵集群、docker入门
- 逆天了!全地形、四舵轮、八连杆、独立悬挂的机器人运动结构方案,来了!
- NYOJ_1248_海岛争霸【最短路】