0

配列の 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>"
 )
4

2 に答える 2

4

あなたが何をしようとしているのかはわかりませんが、貧弱な配列オブジェクトがあなた自身のカスタムクラスが何をどのように行うかを知らないことは確かです.あなたのクラスのインスタンスを印刷する最良の可能性は、その説明メソッドを呼び出すことです.あなたが見るものと、実際には役に立たないもの。次の 2 つのことを行う必要があるかもしれません。

I. オブジェクトをこのように印刷するだけの場合は、クラスの説明メソッドをオーバーライドし、何らかのフォーマット文字列を使用します (コードを 1 行も書いていないため、推測する必要があります)。

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

Ⅱ.クラスのデータを別の場所で使用したい場合は、おそらくそのプロパティを手動でループする必要があります。

for (QuestionData *d in surveyQuestions)
{
    NSLog(@"%@", d.name);
    // etc.
}
于 2012-07-31T06:02:10.217 に答える
1

次のようなことをする必要があります:

NSArray *theArray = [[NSArray alloc] initWith...];
NSLog(@"array contents: %@", theArray);
于 2012-07-31T04:03:20.190 に答える