2012-10-12 19:29:43
Aquivalent 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"]]
......终于做到了。
答案 0 :(得分:0)
看起来Plist文件中的键newsLastEdited
实际上是返回一个数组而不是字符串。
该行:
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];
如果我是正确的,这将采用从Plist newsLastEdited
键返回的数组的第一个元素。如果这样可行,那么您可能需要一些时间来了解存储在Plist文件中的数据结构。
答案 1 :(得分:0)
[[[NSArray readFromPlistFile:@"latestchangesdates"] objectAtIndex:0] valueForKey:@"newsLastEdited"]]
......终于做到了。