将文本添加到Core Data条目

时间:2013-11-01 03:10:36

标签: core-data text

我设置了核心数据模型,并且我使用文本输入框来记录数据。我的代码如下所示:

NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
NSNumber *timetickNumber = [NSNumber numberWithInt:timeTick];
[newDevice setValue:timetickNumber forKey:@"name"];
[newDevice setValue:self.versionTextField.text forKey:@"version"];
[newDevice setValue:self.companyTextField.text forKey:@"company"];

对于第二个条目标题'version',我试图在键入的内容前面添加文本。例如,它会显示“This is”,然后显示旁边键入的文本。有什么想法吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

听起来像是在尝试连接一个字符串。也许是这样的:

NSString *versionString  = [NSString stringWithFormat:@"This is: %@", self.companyTextField.text]

versionString的值为“This is:[在此处插入文本字段中的文本]”。

然后保存到核心数据:

[newDevice setValue:versionString forKey:@"company"];

答案 1 :(得分:0)

混合格式和数据不是好习惯。 (还记得模型 - 视图 - 控制器模式吗?)如果存储“这是”,它将很快变得多余,无论如何都不能以不同的语言正确显示。从许多角度来看,这是一个很成问题的设计。

相反,您应该像在代码中一样将值存储在Core Data中。如果您需要显示此数据,例如在UILabel中,您可以添加所需的任何文本(并且您可以稍后更改它而不需要太多麻烦)。

label.text = [NSString stringWithFormat:@"This is %@.", device.company];

甚至更好

label.text = [NSString stringWithFormat:@"%@%@", 
    NSLocalisedString(@"This is ", "string to present the company"), 
    device.company];