NSMutableArray在iphone应用程序中的NSLog时不显示实际值

时间:2012-07-31 03:56:55

标签: iphone nsarray

我正在做一个数组的NSLog,但它显示以下值而不是数据。我不知道如何解决这个问题并从数组中获取值

    if(!surveyQuestions){


    surveyQuestions=[[NSMutableArray alloc]init];


  }



Total Survey Questions 3
2012-07-31 08:54:53.555 SQL[442:9203] SurveyQuestions (
"<QuestionData: 0x4da10f0>",
"<QuestionData: 0x4b9f120>",
"<QuestionData: 0x4ba42e0>"
 )

2 个答案:

答案 0 :(得分:4)

我不确定你要做的是什么但是:可以肯定的是,糟糕的数组对象不知道自己的自定义类是什么以及如何运行,打印类实例的最佳可能性是调用它描述方法,你看到,哪个不是真的有用。你可能想做两件事:

予。如果您只想打印这样的对象,请覆盖类的描述方法并使用一些格式字符串(假设您没有编写一行代码我必须回过头来猜测):

- (NSString *)description
{
    return [NSString stringWithFormat:@"Name: %@, address: %@", self.name, self.address];
}

II。如果要在其他地方使用类的数据,可能需要手动遍历其属性:

for (QuestionData *d in surveyQuestions)
{
    NSLog(@"%@", d.name);
    // etc.
}

答案 1 :(得分:1)

你需要做这样的事情:

NSArray *theArray = [[NSArray alloc] initWith...];
NSLog(@"array contents: %@", theArray);