gpt4 book ai didi

cocoa - 当我只能使用 KVC 时为什么要创建访问器方法?

转载 作者:行者123 更新时间:2023-12-03 16:28:41 26 4
gpt4 key购买 nike

我正在尝试让我的头脑专注于“键值编码”。

Apple's docs say:

This document describes the NSKeyValueCoding informal protocol, which defines a mechanism allowing applications to access the properties of an object indirectly by name (or key), rather than directly through invocation of an accessor method or as instance variables.

没有什么让我困惑

  1. 访问器方法会自动为属性生成,并提供多种好处,例如内存管理、自定义验证等。当我们按照 Apple 文档所述在没有访问器方法的情况下访问属性时,是否意味着我们正在失去这些好处访问器方法?

  2. 如果 KVC 这么好并且它减少了代码,为什么我应该使用访问器方法,或者为什么访问器方法仍然存在?

  3. 我从未在任何教程或书籍中看到过,也没有在 GitHub 上看到过使用 KVC 的代码。为什么它没有被广泛采用?

最佳答案

  1. 不,这只是意味着您没有在代码中显式调用访问器。 KVC 实现会为您调用访问器。

  2. KVC 不一定会减少代码,而是允许不同的交互方式。它允许更多的运行时灵 active ,并且可以允许使用关键路径。您不应将其视为完全替代品,而应将其视为在某些情况下合适的替代方案。

  3. 它使用广泛,您需要寻找对 valueForKey:setValue:forKey: 的调用(协议(protocol)的方法 - 还有更多不仅仅是这对夫妇)。

关于cocoa - 当我只能使用 KVC 时为什么要创建访问器方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19979619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com