键值编码(KVC)KEY VALUE CODING

本文介绍了Objective-C中键值编码(KVC)的基本用法,包括setValue:forKey:、valueForKey:、setValuesAndKeysForDictionary:及setValue:forKeyPath:等方法的应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.setValue: forKey:

将person对象中的name属性作为Key值,并将这个Key对应的value设为张三,建立一个键值对

//方法声明:
- (void)setValue:(id)value
          forKey:(NSString *)key
//参数说明:
//由Key标识的属性的值
value:The value for the property identified by key.
key:The name of one of the receiver's properties.
//将person对象中的name属性作为Key值,并将这个Key对应的value设为张三,建立一个键值对
[person setValue:@"张三" forKey:@"name"];

2.valueForKey:

返回调用该方法对象属性的value

//方法声明:
- (id)valueForKey:(NSString *)key
//返回值说明:
//返回调用该方法对象属性的值
NSLog(@"%@", [person valueForKey:@"name"]);

3.setValuesAndKeysForDictionary:

字典中的Key为对象的属性名,value为将要赋的值,组成键值对,并为对象属性赋值

//方法声明:
- (void)setValuesForKeysWithDictionary:(NSDictionary *)keyedValues
//参数说明:
keyedValues:字典识别用Key标识的属性,通过Key找到相应的属性并将属性赋值
NSDictionary *dictionary = @{@"name" : @"ZSY", @"gender" : @"man", @"age" : @"18", @"hobby" : @"play"};
//在person对象中,通过字典中的Key对应属性名字,将Key对应的属性值赋值为value
[person setValuesForKeysWithDictionary:dictionary];
//注意:如果字典中的Key值多于对象中的属性时,需要重写下面的方法,保证系统正确运行,否则程序crash
- (void)setValue:(id)value forUndefinedKey:(NSString *)key {
}

4.setValue: forKeyPath:

通过路径将属性名(Key)对应值(value)组成键值对,并对属性赋值操作

//方法的声明:
- (void)setValue:(id)value
      forKeyPath:(NSString *)keyPath
//参数说明:
keyPath:要使用Key标记的属性的路径

//Person.h中声明一个Cup对象的属性
@property (nonatomic, retain) Cup *cup;
//Person.m中实现对Cup对象的指定初始化方法
- (instancetype)initWithCup:(Cup *)cup {
    self = [super init];
    if (self) {
        _cup = cup;
    }
    return self;
}
//Cup.h中声明属性capacity
@property (nonatomic, assign) NSInteger capacity; 
//1.实例化Cup对象
Cup *cup = [[Cup alloc] init];
//2.实例化Person对象并且使用初始化方法,为cup属性初始化
Person *person2 = [[Person alloc] initWithCup:cup];
//3.将person对象的cup属性中的capacity属性value值设置为550
[person2 setValue:@550 forKeyPath:@"cup.capacity"];
//4.输出capacity
NSLog(@"%lu", person2.cup.capacity);
内容概要:本文深入解析了扣子COZE AI编程及其详细应用代码案例,旨在帮助读者理解新一代低门槛智能体开发范式。文章从五个维度展开:关键概念、核心技巧、典型应用场景、详细代码案例分析以及未来发展趋势。首先介绍了扣子COZE的核心概念,如Bot、Workflow、Plugin、Memory和Knowledge。接着分享了意图识别、函数调用链、动态Prompt、渐进式发布及监控可观测等核心技巧。然后列举了企业内部智能客服、电商导购助手、教育领域AI助教和金融行业合规质检等应用场景。最后,通过构建“会议纪要智能助手”的详细代码案例,展示了从需求描述、技术方案、Workflow节点拆解到调试与上线的全过程,并展望了多智能体协作、本地私有部署、Agent2Agent协议、边缘计算插件和实时RAG等未来发展方向。; 适合人群:对AI编程感兴趣的开发者,尤其是希望快速落地AI产品的技术人员。; 使用场景及目标:①学习如何使用扣子COZE构建生产级智能体;②掌握智能体实例、自动化流程、扩展能力和知识库的使用方法;③通过实际案例理解如何实现会议纪要智能助手的功能,包括触发器设置、下载节点、LLM节点Prompt设计、Code节点处理和邮件节点配置。; 阅读建议:本文不仅提供了理论知识,还包含了详细的代码案例,建议读者结合实际业务需求进行实践,逐步掌握扣子COZE的各项功能,并关注其未来的发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值