在通过 Monotouch 切换到 iOS 开发之前,我使用了 ObjectiveC。自从我想到一件事“键值编码”(KVC)。我一直不明白它有什么用,它背后的魔力是什么。
据我了解,它只是名称和值的集合,例如 .NET 的NameValueCollection
: 而不是设置anObject.Address = "An address Value"
你会写anObject.Properties["Address"] = "An address value"
. 伟大的。所以呢?因为这对我来说似乎太容易了,所以我确信这不可能。
还是因为 .NET 有反射,因此不需要键值编码之类的东西?我可以获取“ anObject
”的类型并使用反射循环其所有属性并查找名为“地址”的属性,然后使用反射设置值。这可能是KVC的类比吗?
我希望有人是 ObjC 和 C#/.NET 方面的专家,他可以向我解释好处是什么,以及它将如何转化为 .NET。请不要只将我指向 Apple 的文档。我知道这一切。我试图通过不了解 KVC 来了解我的编码生活中是否缺少某些东西?还是我可能在 .NET 中使用了类似的东西,但不知道如果我使用的是 ObjC,它会转化为 KVC?