我有这段代码:
// create the NSMutableArray for appointment objects
NSMutableArray *apptArray = [[NSMutableArray alloc]init]; // capacity not limited by the 5
CalendarGenerator *cg = [[CalendarGenerator alloc]init];
[apptArray addObject: [cg generateCalendar:period scheduleArray: scheduleArray]]; // will add good appointment to array
Appointment *aa = [[Appointment alloc]init];
for(int i = 0; i < apptArray.count; i++) {
aa = apptArray[i];
NSLog(@"\n\nstartTime: %@\nendTime: %@\nkey: %@", aa.startTime, aa.endTime, aa.clientKey);
}
**更新:**这是Appointment.h文件:
@interface Appointment : NSObject {
}
@property (nonatomic, strong) NSDate *startTime;
@property (nonatomic, strong) NSDate *endTime;
@property (nonatomic, strong) NSString *clientKey;
@end
数据如下所示:
我在模拟器中调试时遇到此运行时错误:
' - [__ NSArrayM startTime]:无法识别的选择器发送到实例
我花了大约3个小时尝试不同的事情,而不是工作;而且我仍然没有看到什么是错的......如果有人可以帮助我,我会很感激吗?
答案 0 :(得分:4)
看起来像generateCalendar:scheduleArray:返回一个数组,而不是约会。将约会分配出来用于循环也是不好的,而不是在周期中使用。例如:
NSMutableArray *apptArray = [[NSMutableArray alloc] init];
CalendarGenerator *cg = [[CalendarGenerator alloc] init];
[apptArray addObjectsFromArray:[cg generateCalendar:period scheduleArray:scheduleArray]];
for(Appointment *appointment in apptArray)
{
NSLog(@"\n\nstartTime: %@\nendTime: %@\nkey: %@", appointment.startTime, appointment.endTime, appointment.clientKey);
}
答案 1 :(得分:1)
在日志中非常清楚,&#39; aa&#39; object是一个数组。这就是你收到错误的原因。但你正在使用它作为约会。
用[apptArray [i] firstObject]或[apptArray [i] objectAtIndex:0]替换此apptArray [i]。它应该工作。但它的临时解决方案。你必须修复apptArray的结构。