核心数据KVC示例

发布于 2024-11-18 04:57:42 字数 392 浏览 3 评论 0原文

抱歉强加,但如果有人能看一下这个并告诉我如何完成此操作,我真的很感激:

核心数据按源列表条目和右上角文本字段之间的数据关联按预期工作。

如果您手动输入字符串,textField2(右下)也是如此。如果您手动输入字符串

我想在下部文本字段中附加一个字符串,在本例中是通用的“Hello!” (在 setText 方法中实现)并让它保持与源列表条目的关联。

总结一下:textField2 - 手动输入字符串,它按预期工作。附加编码字符串,它不会保持与源列表条目的关联。

这是示例项目

再次感谢您的帮助。

Sorry to impose, but I would really appreciate it if someone would take a look at this and show me how to get this done:

Core Data works as expected with data associations between the Source list entry(s) and the upper right textField.

So does textField2 (lower right) if you manually type in a string.

I want to append a string in the lower textField, in this case a generic "Hello!" (implemented in the setText method) and have it also maintain it's association with the source list entry.

To summarize: textField2 - manually type in a string, it works as expected. Append the coded string, and it does not maintain it's association with the source list entry.

Here's the sample project.

Thanks again for the help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水波映月 2024-11-25 04:57:42

以下是我在 MyDocument 类中更新 setText: 方法的方法:

-(IBAction)setText:(id)sender
{       
    NSString *newValue = [[output stringValue] stringByAppendingString:@"Hello!"];
    [[setText selection] setValue:newValue forKey:@"textField2"];
}

我认为您对值设置方向的假设是错误的。对象不从文本字段获取值。它是从对象中获取值的文本字段。因此,我通过获取 output 文本字段的当前值并向其附加一些内容来创建 newValue。然后,我获取 [setText Selection] 对象(当前选定的对象)并将其 textField2 属性设置为新值。此 setValue:forKey 方法会自动使用 textField2 属性的新值更新 output 测试字段。

Here's how I updated setText: method in MyDocument class:

-(IBAction)setText:(id)sender
{       
    NSString *newValue = [[output stringValue] stringByAppendingString:@"Hello!"];
    [[setText selection] setValue:newValue forKey:@"textField2"];
}

I think your assumptions on value setting direction was wrong. Object does not take a value from the text field. It's the text field that takes value from the object. Hence I create newValue by taking current value of output text field and appending something to it. Then I take [setText selection] object (the one currently selected) and set it's textField2 property to new value. This setValue:forKey method automatically updates the output test field with new value of textField2 property.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文