-1

我有一个名为Schedule的类,其中包含 4 个属性:

@interface Schedule : NSObject  {
}

@property (strong, nonatomic) NSDate *apptStartTime;
@property (strong, nonatomic) NSDate *apptEndTime;
@property (strong, nonatomic) NSString *clientKey;
@property (strong, nonatomic) NSString *scheduleName;

-(BOOL) occursOnDate: (NSDate *) dateOfAppointment;
@end

我有另一个类,我之前在其中创建了两个带有数据的“Schedule”对象(用于测试),并将它们都放在 NSMutableSet 中。这是代码:

    //  schedule1
Schedule *schedule1 = [[Schedule alloc]init];
schedule1.apptStartTime = scheduleStartDate;  //  today's date
schedule1.apptEndTime = [scheduleStartDate dateByAddingTimeInterval:60*60];  //  add 1 hour
schedule1.clientKey = @"GeoffMarsh3911";
schedule1.scheduleName = @"schedule1";

//  schedule2
Schedule *schedule2 = [[Schedule alloc]init];  //  two days after schedule1
schedule2.apptStartTime = [scheduleStartDate dateByAddingTimeInterval:timeInterval*2];  //  add two days to first appointment
schedule2.apptEndTime = [schedule2.apptStartTime dateByAddingTimeInterval:60*60];  //  add 1 hour tpo start of appointment
schedule2.clientKey = @"KellieJellyBelly3878";
schedule2.scheduleName = @"schedule2";

//  create NSMutableSet for schedule objects
NSMutableSet *setOfSchedules = [NSMutableSet setWithCapacity:5];
[setOfSchedules addObject:schedule1];
[setOfSchedules addObject:schedule2];

现在,我有另一个课程,我尝试将 NSMutableSet 中的时间表放入 NSArray 中,以便我可以使用它们,如下所示:

    NSArray *scheduleList = [setOfSchedules allObjects]; 

在此处输入图像描述

问题是我似乎无法访问scheduleList中的字段,例如apptStartTime,所以我可以使用它(与另一个日期比较等)。

有没有更好的方法来做到这一点,而不是将 NSMutableSet 放在 NSArray 中?以及如何访问 NSArray 中的各个字段?

4

2 回答 2

1

像这样的东西可以工作:

for (Schedule *schedule in setOfSchedules) {
    NSDate *startTime = schedule.apptStartTime;
    // rest of your stuff
}

或者使用数组并将for循环更改为使用scheduleList.

Schedule *schedule = scheduleList[someIndex];
NSDate *startTime = schedule.apptStartTime;
于 2014-03-14T23:36:42.080 回答
1

您需要像这样从 NSArray 获取对象:

Schedule *schedule = [scheduleList objectAtIndex:0];

然后schedule像往常一样访问对象的属性。

myTime = schedule.apptStartTime;

尽管将对象同时放在 NSMutableSet 和 NSArray 中没有多大意义。也许你可以摆脱其中之一?

于 2014-03-14T23:38:05.950 回答