Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa绑定-为什么要获取这些字符?_Cocoa_Core Data_Cocoa Bindings - Fatal编程技术网

Cocoa绑定-为什么要获取这些字符?

Cocoa绑定-为什么要获取这些字符?,cocoa,core-data,cocoa-bindings,Cocoa,Core Data,Cocoa Bindings,我正在尝试学习Cocoa绑定,并且有一个简单的应用程序,有标题、名字和姓氏 以下是我运行应用程序时的结果截图: 我不明白为什么我在名字和姓氏中得到空字符串 一切都是使用绑定构建的,没有代码 绑定如下所示: 任何帮助都将不胜感激。。。谢谢 编辑-以下是firstname的属性值: 下面是托管对象子类的代码 @interface TestEntity : NSManagedObject @property (nonatomic, retain) NSString * title; @prop

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

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

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

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

绑定如下所示:

任何帮助都将不胜感激。。。谢谢

编辑-以下是firstname的属性值:

下面是托管对象子类的代码

@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

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

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

你想要“选择,你的钥匙”。这里的“选择”是指“在阵列控制器中选择的任何对象”,其余的关键路径以该对象为根

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


我希望这能有所帮助。

谢谢Fabrice。.我已经修改了这个问题,以显示“firstname”的属性值。我在哪里设置“可以为null”?谢谢DavidAwww。可选复选框。取消选中它。你会得到一个空字符串,而不是null。谢谢Joshua,我试过了-你是对的-null值不在那里,但项目在那里(姓名)未正确绑定到实体。因此,当标题为1,并且我输入名称时,当我输入标题2时,名称字段仍然保留…我不确定您在说什么。仅编辑标题字段时,为什么名称字段要更改?如果名称字段依赖于标题(您没有说),则需要额外的代码。如果需要新项目,请单击添加按钮(应选择新添加的项目)并编辑其title/firstname/lastname。实体属性是title、first和last name。因此,当我按+,我希望文本字段被清除。我用文件所有者>managedobjectcontext绑定数组控制器。这是你的意思吗?我被要求将其移动到聊天室。你是否可以用sc更新答案我该找什么?