我正在尝试学习Cocoa Bindings,并拥有一个名为Title,First和Last Name的简单应用程序。
以下是运行应用时结果的屏幕截图:
我不明白为什么我在名字和姓氏中得到空字符串。
一切都是使用绑定构建的 - 没有代码。
绑定看起来像这样:
任何帮助将不胜感激...谢谢!
编辑 - 这是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
答案 0 :(得分:2)
将一个只显示单个值的控件绑定到“arrangeObjects.yourKey”。这提供了一个集合。如果您使用po someCollection
在调试器控制台中打印相同的内容,则会看到相同的格式。
你想要“selection.yourKey”。这里“选择”表示“在阵列控制器中选择任何对象”,其余的键路径都以该对象为根。
你可能习惯使用带有表视图的“arrangeObjects”,其中一列(基本上是一组垂直堆叠的字段想要一个已排序的集合。这对你的左手表来说很好(“主”视图)但你的右手控制(“细节”视图)取决于它的选择。
我希望这会有所帮助。
答案 1 :(得分:0)
在您的模型中,名字和姓氏可以为null,并且没有默认值。取消选中每个属性的can be null
复选框。