私のプロジェクトでは、NSXMLParserを使用してXML文字列から日付のリストを取得します。パーサーが情報を入れるオブジェクト(DatesXMLと呼ばれる)には、
@property (nonatomic,strong) NSDate *DATE;
@property (nonatomic,strong) NSString *NAME;
他の多くのプロパティの中で。
私のパーサーは、DatesXMLオブジェクトの配列(dateItemsFromXMLと呼ばれる)を返します。パーサーが終了した後、私はします
NSMutableDictionary *datesFromXMLDictionary = [[NSMutableDictionary alloc] init];
for (DatesXML *item in dateItemsFromXML)
{
[datesFromXMLDictionary setValue:item.DATE forKey:item.NAME];
}
後で、私はします
if ([[datesFromXMLDictionary objectForKey:@"OneOfMyNames"] isEqualToDate:[NSDate date]])
if
このステートメントで「認識されないセレクター」エラーが発生します。ブレークポイントを設定po [datesFromXMLDictionary objectForKey:@"OneOfMyNames"]
し、コンソールに配置すると、を取得し(id) ... 12/3/2012
ます。
コンソールがNSDateオブジェクトではなくidオブジェクトであると表示するのはなぜですか?その情報は、辞書(またはそのことについては他の場所)に入れられたときに失われますか?