瀏覽代碼

1.增加Manager的代理。

Pen Li 9 年之前
父節點
當前提交
e3dcdd1b95
共有 2 個文件被更改,包括 16 次插入0 次删除
  1. 10 0
      common/upload/RAUploadManager.h
  2. 6 0
      common/upload/RAUploadManager.m

+ 10 - 0
common/upload/RAUploadManager.h

@@ -9,6 +9,14 @@
 #import <Foundation/Foundation.h>
 #import <Foundation/Foundation.h>
 #import "RAUploadOperation.h"
 #import "RAUploadOperation.h"
 
 
+@class RAUploadManager;
+@protocol RAUploadManagerDelegate <NSObject>
+
+@required
+- (void)uploadManager:(RAUploadManager *)manager didRemoveTasks:(NSArray *)tasks;
+
+@end
+
 @interface RAUploadManager : NSObject
 @interface RAUploadManager : NSObject
 @property (assign) int maxThread;
 @property (assign) int maxThread;
 @property (assign) int activeThread;
 @property (assign) int activeThread;
@@ -25,4 +33,6 @@
 
 
 @property (strong,nonatomic) NSOperationQueue* operation_queue;
 @property (strong,nonatomic) NSOperationQueue* operation_queue;
 
 
+@property (nonatomic,weak) id <RAUploadManagerDelegate> delegate;
+
 @end
 @end

+ 6 - 0
common/upload/RAUploadManager.m

@@ -89,6 +89,9 @@
         [fmanager removeItemAtPath:task[@"file_path"] error:&error];
         [fmanager removeItemAtPath:task[@"file_path"] error:&error];
     }
     }
     [[self mutableArrayValueForKey:@"arr_queue"] removeObjectsInArray:tasks];
     [[self mutableArrayValueForKey:@"arr_queue"] removeObjectsInArray:tasks];
+    if (self.delegate && [self.delegate respondsToSelector:@selector(uploadManager:didRemoveTasks:)]) {
+        [self.delegate uploadManager:self didRemoveTasks:tasks];
+    }
 }
 }
 
 
 -(void) removeTask:(NSMutableDictionary*) task
 -(void) removeTask:(NSMutableDictionary*) task
@@ -100,6 +103,9 @@
     [fmanager removeItemAtPath:task[@"file_path"] error:&error];
     [fmanager removeItemAtPath:task[@"file_path"] error:&error];
     
     
     [[self mutableArrayValueForKey:@"arr_queue"] removeObject:task];
     [[self mutableArrayValueForKey:@"arr_queue"] removeObject:task];
+    if (self.delegate && [self.delegate respondsToSelector:@selector(uploadManager:didRemoveTasks:)]) {
+        [self.delegate uploadManager:self didRemoveTasks:@[task]];
+    }