【问题标题】:Default values of NSManagedObject attributes in XcodeXcode 中 NSManagedObject 属性的默认值
【发布时间】:2011-09-14 09:56:42
【问题描述】:

Xcode 中是否可以将空字符串设置为NSString 类型属性的默认值?或者[NSDate date]作为NSDate类型属性的默认值?

【问题讨论】:

标签: objective-c ios xcode core-data


【解决方案1】:

您必须以编程方式执行这两项操作。但是,您不能让 [NSDate date] 成为默认值(因为在您设置该默认值时,您只是使用设置默认值的特定时间的日期,而不是创建 MO 的时间)。

您应该创建NSManagedObject 的子类并实现awakeFromInsert 方法:

- (void)awakeFromInsert
{
  [super awakeFromInsert];

  [self setDateAttribute:[NSDate date]];
  [self setStringAttribute:@""];
}

【讨论】:

  • 我想。顺便问一下,[NSString string] 不是更适合获取空字符串吗?
  • 差别不大。两者都有效。 @"" 是编译时常量。 [NSString string] 在运行时创建。差别不大。不用担心这里。
  • 文档建议您应该使用 setPrimitiveValue:forKey: 而不是访问器。
猜你喜欢
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
  • 2010-10-16
  • 1970-01-01
  • 2023-03-18
  • 2011-12-16
  • 2011-02-05
相关资源
最近更新 更多