setValue:forKey:与setObject:forKey:的区别
来源:互联网 发布:淘宝店子账号怎么登陆 编辑:程序博客网 时间:2024/05/24 15:35
// 苹果官方文档是这么解释的/* Send -setObject:forKey: to the receiver, unless the value is nil, in which case send -removeObjectForKey:.*/- (void)setValue:(nullable ObjectType)value forKey:(NSString *)key;- (void)setObject:(ObjectType)anObject forKey:(KeyType <NSCopying>)aKey;
什么意思呢?
1. setValue:forKey: 要求传一个nullabel的value, 就是可以为nil;
上面也注释了,本质上也是调用 setObject:forKey: 但如果传的value是nil,就会移除这个key,对于可变字典这个机制叫做字典的有值添加;
2. setObject:forKey: 一般没有写nullabel 的,都是不可为空的,传入nil就会崩
为什么呢 你看文档中类的开头和结尾 NONNULL, 说的很清楚
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END
3. setValue:forKeyPath: AND setObject:forKeyPath:
和上面那对方法类似,第一个参数意思一样,第二个更为精确;
举个栗子
[textField setValue:[UIColor blackColor] forKey:@"textColor"];
[textField setValue:[UIColor lightGrayColor] forKeyPath:@"_placeholderLabel.textColor"];
forKeyPath 可以通过点语法,给更深层的属性赋值
顺便说一下,KVC可以给readOnly 的属性赋值
阅读全文
0 0
- setValue:forKey:与setObject:forKey:的区别
- setObject:ForKey:与setValue:ForKey:的区别与联系
- setValue forKey和setObject forKey的区别
- setValue: forKey 和 setObject: forkey的区别
- SetValue:forKey和SetObject:forKey的区别
- setValue: forKey 和 setObject: forKey 的区别
- setValue:forKey与setObject:forKey的差异
- setValue:forKey与setObject:forKey的差异
- setValue:forKey与setObject:forKey的差异
- setValue: forkey与 setObject区别
- setValue:forKey:与setObject:forKey:
- setObject:ForKey:与setValue:ForKey:存值区别与联系
- 字典方法setValue:ForKey setObject:ForKey的区别
- iOS开发66-setValue:forKey:和 setObject:forKey:的区别
- setValue:forKey与setObject:forKey、objectForKey与valueForKey的差异
- iOS -setValue:forKey:和-setObject: forKey区别
- kvc和字典在创建键值对时的相同与区别(setValue forKey )(setObject forKey)
- 字典setObject:forKey:与setObject:forKey:的区别
- linux下怎么卸载自带的JDK和安装想要的JDK
- 嫌pandas的to_sql方法过慢?神方法让你一分钟搞定
- vue2.0,jsonp的一个小案例 请求百度搜索的接口
- jQuery框架中封装好的ajax方法
- idea中@Data标签getset不起作用
- setValue:forKey:与setObject:forKey:的区别
- 关于中间件日志的存放问题
- MVC easyui-switchbutton 和 checkbox 使用和赋值
- linux下用rpm 安装jdk 7的jdk-7u79-linux-x64.rpm
- (转)kotlin官方文档-第一章入门
- CSS 背景 图片自适应
- java程序向oracle数据库中插入当前时间格式大集
- UE4制作多语言游戏(本地化功能详解)
- 应届毕业生面试Handler消息处理机制