在我的项目中,我使用 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
.
为什么控制台告诉我它是一个 id 对象而不是 NSDate 对象?将这些信息放入字典(或其他任何地方)时是否会丢失该信息?