最終的に、最もうまく機能したのは、実際には、description
メソッドをオーバーライドして、現在のタイムゾーンで NSDate を表す文字列を返すだけの NSDate のカテゴリを追加することでした。また、デバッグ時にこのオーバーライドが必要なだけなので、DEBUG のみにしました。
使用した .h ファイルは次のとおりです。
#ifdef DEBUG
@interface NSDate (DebugHelper)
-(NSString *)description;
@end
#endif
および .m ファイル:
#ifdef DEBUG
#import "NSDate+DebugHelper.h"
@implementation NSDate (DebugHelper)
-(NSString *) description
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
return [dateFormatter stringFromDate:self];
}
@end
#endif
この回答につながった議論とアイデアについて、Jim Hayes と jrturton に感謝します。