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

如何确定iOS(id)对象的结构?,ios,class,casting,nsstring,nslog,Ios,Class,Casting,Nsstring,Nslog,当我从iOS应用程序调用某个函数时,它返回一个id数据类型。我不能理解这个函数,所以我不知道它在做什么,或者返回类型到底是什么 如果我使用NSLog(“@”…)将其打印到控制台,我会得到一个类似以下内容的字符串: 2012-01-18 19:03:08.915 HelloWorld[165:707]按键状态 我有没有办法确定这个基本Id对象的结构?我将如何获取该响应的特定部分,例如“按键状态”。字符串解析似乎是一个可怕的想法,但也许这是唯一的方法。也许数据实际上只是一个NSString 谢谢 如

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

如果我使用
NSLog(“@”…)
将其打印到控制台,我会得到一个类似以下内容的字符串:
2012-01-18 19:03:08.915 HelloWorld[165:707]按键状态

我有没有办法确定这个基本Id对象的结构?我将如何获取该响应的特定部分,例如
“按键状态”
。字符串解析似乎是一个可怕的想法,但也许这是唯一的方法。也许数据实际上只是一个
NSString

谢谢

如果您查看
,您将看到查询对象的类、方法选择器、IVAR等的方法。但是,您通常不希望这样做,因为这会破坏封装,并可能导致您依赖于将来可能更改的实现细节,因此请小心使用。您可以阅读更多内容。

尝试以下方法:

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

好主意。这告诉我数据类型是u NSCFNumber。当我尝试将其插入tablecell时,单元格中会出现非ascii字符。是否有将这些字符转换为ASCII(UTF8)的特定转换?
\uu NSCFNumber
NSNumber
的私有实现类。您可以使用
-stringValue
将其作为文本获取。