【问题标题】:How do i print out the contents of an Object that is stored in an array, instead of something that looks like this <(Object Name): 0x10010ff10>? [duplicate]如何打印出存储在数组中的对象的内容,而不是像这样的 <(Object Name): 0x10010ff10>? [复制]
【发布时间】:2015-02-16 14:30:31
【问题描述】:

我创建对象“事件”的实例,然后将其添加到名为 eventsStore 的数组中。

Event *event = [[Event alloc] init];
 event.courseName = @"Maths";
 event.room = @"405";
 event.startTime = [NSNumber numberWithInt:9];
 event.endTime = [NSNumber numberWithInt:10];
[eventsStore addObject:event];

当我运行调试器时,我可以在调试器中看到所有信息都已存储,但是当我尝试使用 NSLog 将信息返回时:

NSLog(@"%@", [eventsStore objectAtIndex:i]);

唯一出现的东西&lt;Event: 0x10010ff10&gt;。如何打印出活动的全部内容?

【问题讨论】:

  • 尝试覆盖description方法。
  • 你试过检查description方法吗?

标签: ios objective-c arrays xcode nslog


【解决方案1】:

要在使用这种NSLog 时获得更详细的输出,您可以覆盖NSObject 子类的- (NSString *)description 方法。另请参阅此问题:What is the Objective-C equivalent for "toString()", for use with NSLog?

【讨论】:

  • 轻微的挑剔,但您覆盖了类的 description 方法,而不是对象。
  • 你是对的,解决了这个问题。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
  • 2013-05-05
  • 2021-12-30
  • 2018-08-25
  • 1970-01-01
相关资源
最近更新 更多