0

わかりました、これは私を困惑させました、そして私はいくつかの新鮮な視点が私をここで正しい結論に導くことを望んでいます...私はそれを使用しようとする3番目のアイテムでNSDateFormatterからNULLを返しています.理由がわからないようです。これが私のコードです:

NSDateFormatter *format = [[NSDateFormatter alloc] init];
NSDate *tempDate;

[format setDateFormat:@"MMM dd, yyyy"]; 
tempDate = [format dateFromString:[activePerformance performanceDate]];
[outletPerformanceDate setDateValue:tempDate];

// display performance time and set length

[format setDateFormat:@"hh:mm a"];  
tempDate = [format dateFromString:[activePerformance performanceTime]];             
[outletPerformanceTime setDateValue:tempDate];

これらは両方とも正しく、意図したとおりに機能します。そして、これがあります:

[format setDateFormat:@"MMM dd yyyy"];
tempDate = [format dateFromString:[activeFan birthday]];
[outletFansBirthday setDateValue:tempDate];

毎回 tempDate に NULL を返します。NSLogs を実行すると、[activeFan birthday] が「1980 年 5 月 2 日」または変数に設定された日付に設定されていることがわかります。これは機能しなかったため、テスト用に次のように変更しました。

[format setDateFormat:@"MMM dd yyyy"];
tempDate = [format dateFromString:@"Jan 22, 1976"];  // TESTING

それでも毎回 NULL を返します。

これらのコード行の間で何かが起こっているのではないかと思いました (それらは直接隣接していませんが、同じメソッドにあります) が、NSDate、NSDateFormatter、またはこれらのオブジェクト変数とは何の関係もありません。NSTextFields へのアウトレットがいくつかあります。

私は完全に途方に暮れています。どんな助けでも大歓迎です!

4

1 に答える 1

1

フォーマット文字列は、dateFromString: メソッドで指定した文字列と一致する必要があります。最後のバージョンでは、フォーマット文字列にカンマがありませんが、テスト文字列にはカンマがあります (おそらく [activeFan birthday].

于 2012-05-10T03:57:38.673 に答える