如何确定iOS(id)对象的结构



当我从iOS应用程序调用某个函数时,它会返回id数据类型。我看不到这个函数,所以我不知道它在做什么,也不知道返回类型到底是什么

如果我使用NSLog("@"...)将其打印到控制台,我会得到一个类似于以下的字符串:2012-01-18 19:03:08.915 HelloWorld[165:707] Key Press State

有什么方法可以让我确定这个基本Id对象的结构吗?我该如何获得响应的特定部分,例如"Key press state"。字符串解析似乎是一个可怕的想法,但也许这是唯一的方法。也许数据真的只是一个NSString

谢谢!

试试这个:

NSLog(@"Mystery object is a %@", NSStringFromClass([mysteryObject class]));

如果您查看<objc/runtime.h>,您会看到用于查询对象的类、方法选择器、ivar等的方法。但是,您通常不想这样做,因为它会破坏封装,并可能导致您依赖未来可能更改的实现细节,所以要小心。您可以在此处阅读更多信息。

最新更新