将数据发布到数据库字段,但字段仍为空白?

时间:2016-12-15 02:48:59

标签: ios objective-c core-data

我尝试使用以下代码将值发布到我的数据库中名为' field_from_first'的字段:

的.m

NSDictionary *reviewer = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:reviewerFirstName, nil] forKeys:[NSArray arrayWithObjects:@"value", nil]];
NSDictionary *firstNameFinal = [NSDictionary dictionaryWithObject:[NSArray arrayWithObject:reviewer] forKey:@"und"];


[nodeData setObject:firstNameFinal forKey:@"field_from_first"];

但是,该字段仍为空白。控制台返回结构:

"field_from_first" =     {
    und =         (
                    {
            value =                 {
                und =                     (
                                            {
                        format = "<null>";
                        "safe_value" = Brittany;
                        value = Brittany;
                    }
                );
            };
        }
    );
};

看起来我的价值被包裹了两次?如何编辑我的代码以确保它发布到该结构?目前,我相信我已发布到:字段&gt; und&gt;值

2 个答案:

答案 0 :(得分:1)

想出来 - 结果非常简单。我只需要使用以下代码:

<强>的.m

NSDictionary *text = data[@"first_name"];
[nodeData setObject:text forKey:@"field_from_first"];

所有其他的胡言乱语试图发布到&#34; und&#34;和&#34; safe_value&#34;事实证明,这是不必要的。

答案 1 :(得分:0)

如果您想要以下内容,

"field_from_first" = {
    und = (
        {
            format = "<null>";
            "safe_value" = Brittany;
            value = Brittany;
        };
    );
};

您的代码需要看起来像,

NSString *reviewer = @"";
NSDictionary *value1 = @{@"format" : @"<null>",@"safe_value":reviewer,@"value":reviewer};
NSArray *undArray = @[value1];
NSDictionary *firstNameFinal = @{@"und" : undArray};

[nodeData setObject:firstNameFinal forKey:@"field_from_first"];

希望这就是你所要求的,在你的问题中无法说明。