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

newsLastEditedPlist ファイルのキーが実際には文字列ではなく配列を返しているようです。

この線:

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 に答える