NSDictionary 类的 JSONRepresentation 如何工作?
前段时间,我正在研究 Objective-C (iPhone) 中的 JSON 处理,我发现了一件令人困惑的事情。
这个调用让我感到困惑:
NSString* jsonString = [jsonDict JSONRepresentation];
事实上 jsonDict 是 NSDictionary 类的一个实例,并且根据 NSDictionary 类参考 NSDictionary 没有此 JSONRepresentation
方法。我感觉在某个地方被欺骗了,我知道它有效,但不知道如何。
谁能解释一下吗?
谢谢
some time ago I was figuring out JSON handling in Objective-C (iPhone) and I found one confusing thing there.
This call puzzles me:
NSString* jsonString = [jsonDict JSONRepresentation];
In fact jsonDict
is an instance of NSDictionary
class and according to NSDictionary Class Reference NSDictionary does not have this JSONRepresentation
method. I feel cheated somewhere, I know that it works but can't figure out how.
Can anyone explain?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是“类别”的示例,它是一种向现有类添加方法的方法。
http://developer.apple.com/库/ios/#documentation/general/conceptual/DevPedia-CocoaCore/Category.html
This is an example of a "Category", which is a way to add methods to existing classes.
http://developer.apple.com/library/ios/#documentation/general/conceptual/DevPedia-CocoaCore/Category.html
看看这个方法来自 JSON 框架。
Take a look at JSON Framework this method came from.
该框架在 NSDictionary 上放置了一个类别。类别用于向类添加额外的方法。有关类别如何工作和实现的更多信息,请参见文档。现在您已经知道了它的正确术语,应该很容易找到它。
The framework puts a category on NSDictionary. Categories are used to add extra methods to a class. More info on how categories work an are implemented is in the docs. Now that you know the right term for it it should be easy to find.