单键和keypath之间有什么区别?

Lol*_*Run 6 objective-c

如图

[self setValue:[NSNumber numberWithInt:intValue] forKey:@"myObject.value"];
Run Code Online (Sandbox Code Playgroud)

答案是"当然,这是一条关键路径,而不是一把钥匙",这是什么意思?

Sim*_*ker 14

键是一个标识对象属性的字符串.键路径是由点分隔的键列表,用于标识嵌套属性.

这是一个例子.如果一个对象person有一个属性address,它本身就有一个属性town你可以使用键分两步获取城镇值:

id address = [person valueForKey:@"address"];
id town = [address valueForKey:@"town"];
Run Code Online (Sandbox Code Playgroud)

或者使用keyPath一步完成:

id town = [person valueForKeyPath:@"address.town"];
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请查看Apple关于键值编码的文档.