2011-05-19 40 views
0

我有一个示例代码,其中:iPhone编程的这种方法叫做什么?

  • 我无法理解,因为没有地方设置或明确获取数据的数据从数据库中如何流动的报道。这一切都是通过自定义对象完成的。
  • 连我们也无法撷取使用的NSLog通过控制台的数据,因为它有ENUM键
  • 所有的对象都是自定义的对象,所以如果我们把它放在NSLogs我们得到的结构是怎样的< CustomObject-hexcode>。许多类再次包含来自其他类的对象。
  • 即使我尝试调试代码通过把断点,然后几步后显示十六进制代码

我将无法把示例代码,因为它是一个包含很多文件的整个项目。

您可以让我知道什么样的方法已被使用?它看起来像某种封装。

谢谢!

回答

1

编写实现- (NSString*) description方法的类别,用于显示自定义对象持有的所有变量的每个自定义对象,您可以在那里将每个枚举值转换为字符串。然后你可以使用NSLog输出对象并获得可读的结果。

+1

我想你是指' - (NSString *)说明' – 2011-05-19 12:01:53

+0

感谢您的输入。实际上,在自定义类下,我无法按照Objective-C查看任何已知数据类型的变量。许多类再次包含来自其他类的对象。那么在那种情况下,可以做些什么? – 2011-05-19 12:02:30

+0

@john:是的,我修正了。 @PARTH:如果只是打印出可访问的内容(使用所有访问器方法并根据需要翻译任何结果)。 – 2011-05-19 13:52:52

0

您需要调试应用程序。并为此“所有对象都是自定义对象,所以如果我们把它放在NSLogs中,我们得到如< CustomObject-hexcode>” “的结构,你需要在你的项目中集成一个类别类。在谷歌搜索覆盖nsobject的描述。您将以正确的格式获取nslog。

+0

感谢您的帮助。你能否提供一个示例链接,将NSLogs放在适当的格式中? – 2011-05-19 12:08:25

+0

@Parth你需要重写你的自定义对象类的描述方法。从nsobject继承的每个类都有名为description的方法。你需要重写该方法。这里是一个链接,让您更好地了解http://iphonedevelopertips.com/cocoa/overriding-nsobject-description-method.html – 2011-05-19 13:14:23

0

这听起来像某种自定义ORM与序列化/反序列化等Euuuwww。