0

複数のディクショナリを含む NSMUtableDictionary があります。そのデータの XML 解析を行っています。辞書データを返すときに、最後の辞書値が返されます。これが私のコードです:

    for(CXMLNode* child in [element children]) {
        id v = [Soap deserialize:child];
        if(v == nil) { 
            v = [NSNull null]; 
        }

        [d setObject:v forKey:[child name]];
    }
    NSLog(@"dData=%@",d);
    return d;

d の値を返すと、最後の辞書値が返されます。この問題を解決する方法を教えてください。ありがとうございました

4

2 に答える 2

0

あなたの説明から、[子の名前] が一意ではない可能性があります。NSLog(@"child name = %@", [child name]); ではない理由 オブジェクトを設定して名前が一意であることを確認する前に?

また、ブレークポイントを任意の場所に設定して、次のタイプを設定できます。

ポッド

デバッガーで d の内容を一覧表示します。

于 2012-04-18T15:38:46.120 に答える
-2

NSNullオブジェクトをNSMutableDictionary辞書として挿入することはできません。NSNullこれは、最初のオブジェクトがディクショナリ (d) に追加されるたびに、ディクショナリの終わりを示します。入ってくる子がCXMLNodeすべての場合に存在するかどうかを確認します。そうでなければ、これが問題の根本原因です。

入ってくるデータがインターネットからのものであることを考慮してCXMLNode、まずそのサービスが適切なデータを送信しているかどうかを確認します。

于 2012-04-18T18:06:06.377 に答える