Browse Source

Merge pull request #13 from kyfxbl/master

支持多个View都使用MJRefresh控件时,最后刷新时间可独立保存
M了个J 11 years ago
parent
commit
ffd76a7e4c

+ 3 - 0
MJRefreshExample/MJRefreshExample/MJRefresh/MJRefreshHeaderView.h

@@ -9,5 +9,8 @@
 #import "MJRefreshBaseView.h"
 
 @interface MJRefreshHeaderView : MJRefreshBaseView
+
+@property NSString *dateKey;
 + (instancetype)header;
+
 @end

+ 10 - 3
MJRefreshExample/MJRefreshExample/MJRefresh/MJRefreshHeaderView.m

@@ -35,7 +35,11 @@ - (UILabel *)lastUpdateTimeLabel
         [self addSubview:_lastUpdateTimeLabel = lastUpdateTimeLabel];
         
         // 2.加载时间
-        self.lastUpdateTime = [[NSUserDefaults standardUserDefaults] objectForKey:MJRefreshHeaderTimeKey];
+        if(!self.dateKey){
+            self.lastUpdateTime = [[NSUserDefaults standardUserDefaults] objectForKey:MJRefreshHeaderTimeKey];
+        }else{
+            self.lastUpdateTime = [[NSUserDefaults standardUserDefaults] objectForKey:self.dateKey];
+        }
     }
     return _lastUpdateTimeLabel;
 }
@@ -89,8 +93,11 @@ - (void)setLastUpdateTime:(NSDate *)lastUpdateTime
     _lastUpdateTime = lastUpdateTime;
     
     // 1.归档
-    [[NSUserDefaults standardUserDefaults] setObject:lastUpdateTime forKey:MJRefreshHeaderTimeKey];
-    [[NSUserDefaults standardUserDefaults] synchronize];
+    if(!self.dateKey){
+        [[NSUserDefaults standardUserDefaults] setObject:lastUpdateTime forKey:MJRefreshHeaderTimeKey];
+    }else{
+        [[NSUserDefaults standardUserDefaults] setObject:lastUpdateTime forKey:self.dateKey];
+    }
     
     // 2.更新时间
     [self updateTimeLabel];

+ 17 - 0
MJRefreshExample/MJRefreshExample/MJRefresh/UIScrollView+MJRefresh.h

@@ -17,6 +17,14 @@
  */
 - (void)addHeaderWithCallback:(void (^)())callback;
 
+/**
+ *  添加一个下拉刷新头部控件
+ *
+ *  @param callback 回调
+ *  @param dateKey 刷新时间保存的key值
+ */
+- (void)addHeaderWithCallback:(void (^)())callback dateKey:(NSString*)dateKey;
+
 /**
  *  添加一个下拉刷新头部控件
  *
@@ -25,6 +33,15 @@
  */
 - (void)addHeaderWithTarget:(id)target action:(SEL)action;
 
+/**
+ *  添加一个下拉刷新头部控件
+ *
+ *  @param target 目标
+ *  @param action 回调方法
+ *  @param dateKey 刷新时间保存的key值
+ */
+- (void)addHeaderWithTarget:(id)target action:(SEL)action dateKey:(NSString*)dateKey;
+
 /**
  *  移除下拉刷新头部控件
  */

+ 12 - 0
MJRefreshExample/MJRefreshExample/MJRefresh/UIScrollView+MJRefresh.m

@@ -66,6 +66,12 @@ - (void)addHeaderWithCallback:(void (^)())callback
     self.header.beginRefreshingCallback = callback;
 }
 
+- (void)addHeaderWithCallback:(void (^)())callback dateKey:(NSString*)dateKey
+{
+    [self addHeaderWithCallback:callback];
+    self.header.dateKey = dateKey;
+}
+
 /**
  *  添加一个下拉刷新头部控件
  *
@@ -86,6 +92,12 @@ - (void)addHeaderWithTarget:(id)target action:(SEL)action
     self.header.beginRefreshingAction = action;
 }
 
+- (void)addHeaderWithTarget:(id)target action:(SEL)action dateKey:(NSString*)dateKey
+{
+    [self addHeaderWithTarget:target action:action];
+    self.header.dateKey = dateKey;
+}
+
 /**
  *  移除下拉刷新头部控件
  */