当前位置: 首页 > 编程笔记 >

Objective-C语言现实生活中最常见的键值编码示例

秦俊豪
2023-03-14
本文向大家介绍Objective-C语言现实生活中最常见的键值编码示例,包括了Objective-C语言现实生活中最常见的键值编码示例的使用技巧和注意事项,需要的朋友参考一下

示例

使用NSKeyValueCoding协议将键值编码集成到NSObject中

这是什么意思?

这意味着任何id对象都可以调用valueForKey方法及其各种变体,例如valueForKeyPath等。

这也意味着任何id对象都可以调用setValue方法及其各种变体。

示例

id obj = [[MyClass alloc] init];
id value = [obj valueForKey:@"myNumber"];

int myNumberAsInt = [value intValue];
myNumberAsInt = 53;
[obj setValue:@(myNumberAsInt) forKey:@"myNumber"];

例外情况:

上面的示例假定MyClass具有一个名为myNumber的NSNumber属性。如果myNumber没有出现在MyClass接口定义中,则可能在第2行和第5行都引发NSUndefinedKeyException,通常称为:

this class is not key value coding-compliant for the key myNumber.

为什么这么强大:

您可以编写可动态访问类属性的代码,而无需该类的接口。这意味着表视图可以显示来自NSObject派生对象的任何属性的值,只要它的属性名称在运行时动态提供。

在上面的示例中,代码也可以在MyClass不可用且id类型obj对调用代码不可用的情况下工作。

 类似资料:
  • 本文向大家介绍Objective-C语言返回值,包括了Objective-C语言返回值的使用技巧和注意事项,需要的朋友参考一下 示例 当要从方法返回值时,请将要返回的类型放在第一组括号中。 您要返回的值放在return关键字之后;

  • Objective-C Runtime Runtime 是什么? Runtime 是 Objective-C 区别于 C 语言这样的静态语言的一个非常重要的特性。对于 C 语言,函数的调用会在编译期就已经决定好,在编译完成后直接顺序执行。但是 OC 是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以 Runtime 无非就是去解决如何在运行时期找到调用方法这样的问题。 对

  • Block 基础 Block 语法 Block 可以认为是一种匿名函数,使用如下语法声明一个 Block 类型: return_type (^block_name)(parameters) 例如: double (^multiplyTwoValues)(double, double); Block 字面值的写法如下: ^ (double firstValue, double secondValue

  • 本文向大家介绍Objective-C语言记录中,包括了Objective-C语言记录中的使用技巧和注意事项,需要的朋友参考一下 示例 的第一个参数NSLog是,NSString包含日志消息格式。其余参数用作替代格式说明符的值。 格式与完全相同printf,除了用于%@任意Objective-C对象的附加格式说明符。这个: 等效于:            

  • 本文向大家介绍C语言实现密码本,包括了C语言实现密码本的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C语言实现密码本的具体代码,供大家参考,具体内容如下 功能简述: 1.账号登陆(密码验证,三次锁定账号) 2.功能选择:1、查看所有密码 2、新增密码 3、删除密码 4、修改密码 5、查询密码 6、解除锁定 7、退出登陆 3.保存密码,文件加密 4.流程图: 数据定义部分 界面与用户

  • 本文向大家介绍Objective-C语言创造,包括了Objective-C语言创造的使用技巧和注意事项,需要的朋友参考一下 示例 要么 或使用适当的文字语法