diff --git a/Example/FSCalendarTests/FSCalendarTests.m b/Example/FSCalendarTests/FSCalendarTests.m index 0d180ed..5f0d3f4 100644 --- a/Example/FSCalendarTests/FSCalendarTests.m +++ b/Example/FSCalendarTests/FSCalendarTests.m @@ -58,4 +58,28 @@ }]; } + +- (void)testFilter { + NSMutableArray *array = [NSMutableArray arrayWithCapacity:50]; + for (int i = 0; i < 50; i++) { + [array addObject:@(i)]; + } + [self measureBlock:^{ + [array filterUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id _Nullable evaluatedObject, NSDictionary * _Nullable bindings) { + return [evaluatedObject compare:@25]==NSOrderedSame; + }]]; + }]; + +} + +- (void)testCache { + NSCache *c = [[NSCache alloc] init]; + for (int i = 0; i < 50; i++) { + [c setObject:@(i) forKey:@(i)]; + } + [self measureBlock:^{ + [c objectForKey:@25]; + }]; +} + @end diff --git a/Example/FullScreenExampleViewController.m b/Example/FullScreenExampleViewController.m index 8848406..ffee649 100644 --- a/Example/FullScreenExampleViewController.m +++ b/Example/FullScreenExampleViewController.m @@ -61,6 +61,10 @@ view.backgroundColor = [UIColor colorWithRed:0.95 green:0.95 blue:0.95 alpha:1.0]; self.view = view; +#define FULL_SCREEN 1 + +#if FULL_SCREEN + FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, self.navigationController.navigationBar.frame.size.height, self.view.bounds.size.width, self.view.bounds.size.height-self.navigationController.navigationBar.frame.size.height)]; calendar.backgroundColor = [UIColor whiteColor]; calendar.dataSource = self; @@ -73,6 +77,20 @@ [self.view addSubview:calendar]; self.calendar = calendar; +#else + + FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, self.navigationController.navigationBar.frame.size.height, self.view.bounds.size.width, 300)]; + calendar.backgroundColor = [UIColor whiteColor]; + calendar.dataSource = self; + calendar.delegate = self; + calendar.allowsMultipleSelection = YES; + calendar.firstWeekday = 2; + calendar.appearance.caseOptions = FSCalendarCaseOptionsWeekdayUsesSingleUpperCase|FSCalendarCaseOptionsHeaderUsesUpperCase; + [self.view addSubview:calendar]; + self.calendar = calendar; + +#endif + UIBarButtonItem *todayItem = [[UIBarButtonItem alloc] initWithTitle:@"Today" style:UIBarButtonItemStylePlain target:self action:@selector(todayItemClicked:)]; UIBarButtonItem *lunarItem = [[UIBarButtonItem alloc] initWithTitle:@"Lunar" style:UIBarButtonItemStylePlain target:self action:@selector(lunarItemClicked:)]; @@ -116,7 +134,12 @@ - (void)viewWillLayoutSubviews { [super viewWillLayoutSubviews]; + +#if FULL_SCREEN self.calendar.frame = CGRectMake(0, CGRectGetMaxY(self.navigationController.navigationBar.frame), self.view.bounds.size.width, self.view.bounds.size.height-CGRectGetMaxY(self.navigationController.navigationBar.frame)); +#else + self.calendar.frame = CGRectMake(0, CGRectGetMaxY(self.navigationController.navigationBar.frame), self.view.bounds.size.width, 300); +#endif } - (void)dealloc @@ -164,7 +187,7 @@ } } if (_showsLunar) { - NSInteger day = [_lunarCalendar components:NSCalendarUnitDay fromDate:date].day; + NSInteger day = [_lunarCalendar component:NSCalendarUnitDay fromDate:date]; return _lunarChars[day-1]; } return nil; diff --git a/Example/StoryboardExampleViewController.m b/Example/StoryboardExampleViewController.m index 4544ea5..27de966 100644 --- a/Example/StoryboardExampleViewController.m +++ b/Example/StoryboardExampleViewController.m @@ -99,7 +99,7 @@ if (!_lunar) { return nil; } - NSInteger day = [_lunarCalendar components:NSCalendarUnitDay fromDate:date].day; + NSInteger day = [_lunarCalendar component:NSCalendarUnitDay fromDate:date]; return _lunarChars[day-1]; }