0

我正在尝试学习 Cocoa 绑定,并有一个简单的应用程序,其中包含标题、名字和姓氏。

这是我运行应用程序时的结果截图:

在此处输入图像描述

我不明白为什么我在名字和姓氏中得到空字符串。

一切都是使用绑定构建的——没有代码。

绑定如下所示:

在此处输入图像描述

任何帮助将不胜感激......谢谢!

编辑 - 这是名字的属性值:

在此处输入图像描述

这是托管对象子类的代码...

@interface TestEntity : NSManagedObject

@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSString * firstname;
@property (nonatomic, retain) NSString * lastname;

@end


@implementation TestEntity

@dynamic title;
@dynamic firstname;
@dynamic lastname;

- (void) awakeFromInsert
{
    NSLog(@"%s", __FUNCTION__);

    NSString * baseValue = @" ";
    [self setValue: baseValue  forKey: @"firstname"];

} // awakeFromInsert
4

2 回答 2

2

您将一个仅显示单个值的控件绑定到“arrangedObjects.yourKey”。这提供了一个集合。如果您在调试器控制台中使用 打印相同的内容po someCollection,您会看到相同的格式。

你想要“selection.yourKey”。这里“选择”的意思是“在数组控制器中选择了任何对象”,其余的键路径都植根于该对象。

您可能习惯于在表格视图中使用“arrangedObjects”,其中一列(本质上是垂直堆叠字段的数组需要一个排序的集合。这对于您的左侧表格(“主”视图)来说很好,但是您的右侧控件(“详细”视图)取决于其选择。

我希望这有帮助。

于 2012-06-28T13:48:22.727 回答
0

在您的模型中,名字和姓氏可以为 null 并且没有默认值。取消can be null选中每个属性的复选框。

于 2012-06-28T13:19:59.373 回答