0
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"]]

……终于做到了。

4

2 回答 2

0

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

该行:

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

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

如果您改用以下内容会发生什么:

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

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

于 2012-10-13T12:03:09.323 回答
0
[[[NSArray readFromPlistFile:@"latestchangesdates"] objectAtIndex:0] valueForKey:@"newsLastEdited"]]

……终于做到了。

于 2012-10-15T07:03:37.847 回答