Cocoa Bindings - 为什么我会得到这些字符?

时间:2012-06-28 11:47:40

标签: cocoa core-data cocoa-bindings

我正在尝试学习Cocoa Bindings,并拥有一个名为Title,First和Last Name的简单应用程序。

以下是运行应用时结果的屏幕截图:

enter image description here

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

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

绑定看起来像这样:

enter image description here

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

编辑 - 这是firstname的属性值:

enter image description here

以下是托管对象子类的代码...

@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

2 个答案:

答案 0 :(得分:2)

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

你想要“selection.yourKey”。这里“选择”表示“在阵列控制器中选择任何对象”,其余的键路径都以该对象为根。

你可能习惯使用带有表视图的“arrangeObjects”,其中一列(基本上是一组垂直堆叠的字段想要一个已排序的集合。这对你的左手表来说很好(“主”视图)但你的右手控制(“细节”视图)取决于它的选择。

我希望这会有所帮助。

答案 1 :(得分:0)

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