我想将 NSDate 从 XML 保存到 coreData。我不知道如何设置 NSDate 的值。有人可以给我一点帮助吗?我的实体属性是 NSDate。还是应该是字符串并将日期另存为字符串?
[Sets setValue:[TBXML textForElement:xmlDate] forKey:@"beginDate"];
感谢您的任何回复和帮助,
brush51
我想将 NSDate 从 XML 保存到 coreData。我不知道如何设置 NSDate 的值。有人可以给我一点帮助吗?我的实体属性是 NSDate。还是应该是字符串并将日期另存为字符串?
[Sets setValue:[TBXML textForElement:xmlDate] forKey:@"beginDate"];
感谢您的任何回复和帮助,
brush51
无论您是否有意混淆,您都没有说出来,所以我猜测:
[TBXML textForElement:xmlDate]
返回一个 NSStringbeginDate
是实体的日期属性Sets
在这种情况下,您的代码显然不正确:您必须传递NSDate
to的实例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"];
NSDate
加进去没问题CoreData
。您需要做的就是NSString
从 XML 文件转换为NSDate
对象。对于转换NSString
<-> NSDate
您可以使用NSDateFormatter
class. 在下面的示例中,您可以看到我是如何做到的:
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];
您可以设置需要的日期格式并在您的项目中使用此代码。