我正试图从我的plist中提取NSDates,以便创建Datecomponents,但尝试这样做会给我带来问题。
这是我正在使用的一些代码:
self.Array = [NSMutableArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"matches" ofType:@"plist"]];
NSDateComponents *todayComp = [[NSCalendar currentCalendar] components:NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:[NSDate date]];
NSDateComponents *eventDateComp = [[NSCalendar currentCalendar] components:NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:[Array valueForKey:@"date"]];
我正确地得到了todayComp,但是我试图从plist中得到的eventDateComp给出了一个错误。
plist是一系列字典,如下所示:
<array>
<dict>
<key>date</key>
<date>2011-12-13T00:00:00Z</date>
<key>titel</key>
<string>Tilburg - Oss</string>
</dict>
<dict>
<key>date</key>
<date>2011-12-13T00:00:00Z</date>
<key>titel</key>
<string>Amsterdam - Roosendaal</string>
</dict>
</array>
NSLog说的是这样......
-[__NSArrayI timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x6a8d050
...这可能认为我没有以正确的方式从plist那里获得NSDates,但我尝试了一些不同的东西,但不知道如何正确地做到这一点。 非常感谢帮助。
答案 0 :(得分:1)
[Array valueForKey:@"date"]
您在NSArray上使用valueforKey:方法。 1)使用objectAtIndex:从数组中获取对象; 2)Difference between objectForKey and valueForKey?
NSDate *eventDate = [[Array objectAtIndex:0] objectForKey:@"date"];
NSDateComponents *eventDateComp = [[NSCalendar currentCalendar] components:NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:eventDate];