2011-02-18 106 views
0

下面的代码很大程度上受到我在网络上发现的一些示例的启发,似乎工作正常,核心数据实体称为“Contact”,而名为“address”的属性具有属性String,in xcdatamodel。它可以毫无问题地保存我的数据。 现在我的问题是:我该如何修改这段代码?为了使它在xcdatamodel中将属性“address”的属性从String更改为Float后生效。浮点核心数据上的问题

CoreDataTestOneAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
NSManagedObjectContext *context = [appDelegate managedObjectContext]; 
NSManagedObject *newContact; 
newContact = [NSEntityDescription insertNewObjectForEntityForName:@"Contacts" inManagedObjectContext:context]; 
[newContact setValue:address_InputField.text forKey:@"address"]; 
NSError *error; 
[context save:&error]; 

回答

2

要存储在核心数据浮动属性的浮动,在一个NSNumber的对象像这样把它包:

[newContact setValue:[NSNumber numberWithFloat:floatValue] forKey:@"address"]; 
+0

谢谢,但我该如何编写你的“floatValue”代码?我的float的值由用户在address_InputField中输入,它是一个UITextField。 – Michel 2011-02-18 07:37:07

0

这是一个猜测,但我想你会需要包装浮球在一个NSNumber。 numberWithFloat:

Creates and returns an NSNumber object containing a given value, treating it as a float. 

+ (NSNumber *)numberWithFloat:(float)value