我试图让我的头脑围绕“键值编码”。
本文档描述了
NSKeyValueCoding
非正式协议,该协议定义了一种机制,允许应用程序通过名称(或键)间接访问对象的属性,而不是直接通过调用访问器方法或作为实例变量。
很少有事情让我感到困惑
访问器方法是为属性自动生成的,并提供了一些好处,如内存管理、自定义验证等。当我们访问一个没有访问器方法的属性时,正如 Apple 文档所说,这是否意味着我们失去了访问器方法的好处?
如果 KVC 这么好并且它减少了代码,我为什么要使用访问器方法,或者为什么访问器方法仍然存在?
我从未在任何教程、书籍或 GitHub 上使用 KVC 的代码中看到过。为什么它没有被广泛采用?