Browse Source

Merge pull request #391 from ytqiu/master

增加日历获取兼容性代码
M了个J 10 năm trước cách đây
mục cha
commit
e5c0ca1a0e
1 tập tin đã thay đổi với 9 bổ sung1 xóa
  1. 9 1
      MJRefresh/Custom/Header/MJRefreshStateHeader.m

+ 9 - 1
MJRefresh/Custom/Header/MJRefreshStateHeader.m

@@ -53,6 +53,14 @@ - (void)setTitle:(NSString *)title forState:(MJRefreshState)state
     self.stateLabel.text = self.stateTitles[@(self.state)];
 }
 
+#pragma mark - 日历获取在9.x之后的系统使用currentCalendar会出异常。在8.0之后使用系统新API。
+- (NSCalendar *)currentCalendar {
+    if (([[[UIDevice currentDevice] systemVersion] compare:@"8.0" options:NSNumericSearch] == NSOrderedDescending)) {
+        return [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
+    }
+    return [NSCalendar currentCalendar];
+}
+
 #pragma mark key的处理
 - (void)setLastUpdatedTimeKey:(NSString *)lastUpdatedTimeKey
 {
@@ -68,7 +76,7 @@ - (void)setLastUpdatedTimeKey:(NSString *)lastUpdatedTimeKey
     
     if (lastUpdatedTime) {
         // 1.获得年月日
-        NSCalendar *calendar = [NSCalendar currentCalendar];
+        NSCalendar *calendar = [self currentCalendar];
         NSUInteger unitFlags = NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay |NSCalendarUnitHour |NSCalendarUnitMinute;
         NSDateComponents *cmp1 = [calendar components:unitFlags fromDate:lastUpdatedTime];
         NSDateComponents *cmp2 = [calendar components:unitFlags fromDate:[NSDate date]];