0

私の質問に答えてくれてありがとう。貴重なフィードバックと質問への回答が得られると確信しています。以下のコードを見つけてください。これはサーバーにデータを保存する方法で、

-(NSMutableString *) saveChanges 
{
    NSMutableString *changes = [[NSMutableString alloc] init];
    NSString *completeXml = [[NSString alloc]init];

    for (NSString *key in objectToModify)
    {
        BaseModel *orig = [savedOriginalObject objectForKey:key];
        BaseModel *new = [objectToModify objectForKey:key];

        BaseModel *nested = Nil;

        // BaseModel was added
        if (orig == nil)
        {
            nested = [ModelReferences referenceNested:new];
            nested.EntityState = [[EntityState alloc] initWithIntValue:Added];
            NSMutableString *newXml = [self createObjectToXML:nested];
            completeXml = [completeXml stringByAppendingString:newXml];
        }

        // BaseModel might be modified
        else {
                BaseModel *newNested = [ModelReferences referenceNested:new];
                BaseModel *origNested = [ModelReferences referenceNested:orig];

                NSMutableString *newXml = [self createObjectToXML:newNested];
                NSMutableString *origXml = [self createObjectToXML:origNested];

                completeXml = [completeXml stringByAppendingString:newXml];

                if (![newXml isEqualToString:origXml]) 
                {
                    nested = newNested;
                    nested.EntityState = [[EntityState alloc] initWithIntValue:Modified];
                }

            }

        if (nested != Nil)
            [changes appendString:[self createObjectToXML:nested]];
    }

    //refreshes both dictionaries (objectToModify and savedOriginalObject) 
    [self refreshSavedOriginalObject:completeXml];


    if ([changes length] > 0)
        return changes;
    else
        return Nil;
}

変更を加えるたびに保存されますが、新しいデータまたはオブジェクトを追加したいときはサーバーに保存されません。たとえば、NSMutableDictionary保存されていないオブジェクトを追加した後、にオブジェクトを追加したかった。コーディングに関する詳細情報を提供する必要がある場合はお知らせください。

4

1 に答える 1

0

修正は..指定されたベース モデルの UUID を生成することにより、UUID が生成されると、ベース モデル ループはそれを非オリジナルと見なし、それを新しい UUID として作成し、場所を作成します..したがって、ベース モデルと新しい UUID がサーバーに送信され、同時に保存されます。

于 2013-04-08T19:13:35.913 に答える