我想将NSDate从XML保存到coreData。 我不知道如何设置NSDate的值。有人能给我一点帮助吗? 我的实体属性是NSDate。或者它应该是一个字符串并将日期另存为字符串??
[Sets setValue:[TBXML textForElement:xmlDate] forKey:@"beginDate"];
感谢您的回复和帮助,
brush51
答案 0 :(得分:6)
无论你是否故意混淆,你都不会这么说,所以我猜错了:
[TBXML textForElement:xmlDate]
返回NSString beginDate
是实体Sets
在这种情况下,您的代码显然不正确:您必须将NSDate
的实例传递给setValue:forKey:
。您的代码如下:
NSDateFormatter *myXMLdateReader = [[NSDateFormatter alloc] init];
[myXMLdateReader setDateFormat:@"yyyy-MM-dd"]; // for example
NSDate *itsDate = [myXMLdateReader dateFromString:[TBXML textForElement:xmlDate]];
[myXMLdateReader release];
[Sets setValue:itsDate forKey:@"beginDate"];
答案 1 :(得分:3)
将NSDate
添加到CoreData
是没有问题的。您需要做的就是将NSString
从XML文件转换为NSDate
对象。要转换NSString
< - > NSDate
,您可以使用NSDateFormatter
课程。在下面的示例中,您可以看到我是如何做到的:
NSDateFormatter *parseFormatter = [[[NSDateFormatter alloc] init] autorelease];
[parseFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"US"] autorelease]];
[parseFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
NSString *dateString = @"Mon, 02 May 2011 21:12:56 +0000";
NSDate *dateToAdd = [parser.parseFormatter dateFromString:dateString];
您可以设置有需要的日期格式并在项目中使用此代码。