私はこのモデルを持っています:
@interface Data : NSObject
@property int Period;
@property (nonatomic, assign) NSDate *Start;
@property (nonatomic, assign) NSDate *End;
@end
@implementation Data
@synthesize Period, Start, End;
@end
可変配列にデータを追加します。
@property (strong, nonatomic) NSMutableArray* myArray;
self.myArray = [NSMutableArray arrayWithCapacity:0];
Data *element1 =[ [Data alloc] init];
element1.Period = 1;
element1.Start = dateStart1;
element1.End = dateEnd1;
[self.myArray addObject:element1];
Data *element2 =[ [Data alloc] init];
element2.Period = 2;
element2.Start = dateStart2;
element2.End = dateEnd2;
[self.myArray addObject:element2];
Data *element3 =[ [Data alloc] init];
element3.Period = 3;
element3.Start = dateStart3;
element3.End = dateEnd3;
[self.myArray addObject:element3];
配列から開始日を抽出できます
Data * extractDateStart = [self.myArray valueForKey:@"Start"];
NSLog(@"All Start Dates: %@", extractDateStart);
特定の日付 (ユーザーによって挿入された) が 3 つの期間のどれであるかを検索するには、その配列を循環させる必要があります。
「通常の」配列からデータを抽出する方法を知っています:
for(NSString * extractDate in self.myArray) {
NSLog(extractDate);
}
また、ある日付を別の日付と比較する方法も知っています。
switch ([dateInserted compare: date]) { case NSOrderedAscending: // dateInserted old than date break; case NSOrderedSame: // dateInserted the same then date break; case NSOrderedDescending: // dateInserted new then date break; default: // generic error break; }
しかし、この場合の移動方法は?