繁体   English   中英

简单的NSDateFormatter /字符串解析

[英]Simple NSDateFormatter / String Parse

2012-10-12 19:29:43

等效的NSDateFormatter

[_dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

引发异常...为什么?

谢谢!

参考: http : //waracle.net/mobile/iphone-nsdateformatter-date-formatting-table/

更新:

问题似乎是字符串。 如果我对字符串进行硬编码:

NSString * string = @"2012-10-12 19:29:43";

工作正常。

我从一组键值对中读取了它,所以我这样做了:

NSString * string = [NSString stringWithFormat:@"%@", (NSString *)[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"]];

控制台输出:

#1:

2012-10-12 10:16:49

#2:

( "2012-10-12 10:16:49" )

我认为问题是与数组中的字符串解析有关。

更新2:

[[[NSArray readFromPlistFile:@"latestchangesdates"] objectAtIndex:0] valueForKey:@"newsLastEdited"]]

...终于做到了。

看起来newsLastEdited文件中的关键newsLastEdited实际上返回的是数组而不是字符串。

该行:

NSString *string = [NSString stringWithFormat:@"%@", (NSString *)[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"]];

只是将[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"]返回的值转换为NSString 这不会自动使返回值成为字符串。

如果改用以下命令会发生什么:

NSString *string = [[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"] objectAtIndex:0];

如果我是正确的话,这将采用从newsLastEdited键返回的数组的第一个元素。 如果可行,那么您可能应该花一些时间来了解存储在Plist文件中的数据结构。

[[[NSArray readFromPlistFile:@"latestchangesdates"] objectAtIndex:0] valueForKey:@"newsLastEdited"]]

...终于做到了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM