Skip to content

Commit 7a87f2d

Browse files
committed
文件下载。。
1 parent 406114f commit 7a87f2d

3 files changed

Lines changed: 17 additions & 25 deletions

File tree

Coding_iOS/Controllers/FileListViewController.m

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#import "Coding_FileManager.h"
2828

2929

30-
@interface FileListViewController () <SWTableViewCellDelegate, EaseToolBarDelegate, QBImagePickerControllerDelegate, Coding_FileManagerDelegate>
30+
@interface FileListViewController () <SWTableViewCellDelegate, EaseToolBarDelegate, QBImagePickerControllerDelegate>
3131
@property (nonatomic, strong) UITableView *myTableView;
3232
@property (nonatomic, strong) ODRefreshControl *refreshControl;
3333
@property (strong, nonatomic) ProjectFiles *myFiles;
@@ -73,12 +73,16 @@ - (void)viewDidLoad
7373
_refreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView];
7474
[_refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged];
7575

76-
[Coding_FileManager sharedManager].delegate = self;
7776
if (!self.rootFolders) {
7877
self.rootFolders = [ProjectFolders emptyFolders];
7978
}
8079
[self refresh];
81-
}
80+
81+
[[[[NSNotificationCenter defaultCenter] rac_addObserverForName:kNotificationUploadCompled object:nil] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(NSNotification *aNotification) {
82+
//{NSURLResponse: response, NSError: error, ProjectFile: data}
83+
NSDictionary* userInfo = [aNotification userInfo];
84+
[self completionUploadWithResult:[userInfo objectForKey:@"data"] error:[userInfo objectForKey:@"error"]];
85+
}];}
8286

8387
- (void)didReceiveMemoryWarning
8488
{
@@ -284,23 +288,17 @@ - (void)removeUploadTaskWithFileName:(NSString *)fileName{
284288
}
285289

286290
- (void)completionUploadWithResult:(id)responseObject error:(NSError *)error{
287-
if (error) {
288-
[self showError:error];
289-
}else if (responseObject){
291+
if (responseObject){
290292
ProjectFile *curFile = responseObject;
291-
if (curFile.name && curFile.name.length > 0) {
293+
if (curFile.parent_id.integerValue == self.curFolder.file_id.integerValue) {
292294
curFile.project_id = self.curProject.id;
293295
[self.myFiles.list insertObject:curFile atIndex:0];
294296
self.curFolder.count = @(self.curFolder.count.integerValue +1);
297+
[self configuploadFiles];
295298
}
296299
}
297-
[self configuploadFiles];
298300
}
299301

300-
#pragma mark Coding_FileManagerDelegate
301-
- (void)completionUploadResponse:(NSURLResponse *)response withResponseObject:(id)responseObject andError:(NSError *)error{
302-
[self completionUploadWithResult:responseObject error:error];
303-
}
304302

305303
#pragma mark Table M
306304
- (NSInteger)totalDataRow{

Coding_iOS/Util/Manager/Coding_FileManager.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
// Copyright (c) 2014年 Coding. All rights reserved.
77
//
88

9+
#define kNotificationUploadCompled @"notification_upload_compled"
10+
//{NSURLResponse: response, NSError: error, ProjectFile: data}
11+
912
#import <Foundation/Foundation.h>
1013
#import "AFNetworking.h"
1114
#import "DirectoryWatcher.h"
@@ -17,7 +20,6 @@
1720
@protocol Coding_FileManagerDelegate;
1821

1922
@interface Coding_FileManager : NSObject
20-
@property (nonatomic, weak) id<Coding_FileManagerDelegate> delegate;
2123

2224
//download
2325
+ (Coding_FileManager *)sharedManager;
@@ -57,9 +59,3 @@
5759
+ (Coding_UploadTask *)cUploadTaskWithTask:(NSURLSessionUploadTask *)task progress:(NSProgress *)progress fileName:(NSString *)fileName;
5860
- (void)cancel;
5961
@end
60-
61-
62-
@protocol Coding_FileManagerDelegate <NSObject>
63-
@optional
64-
- (void)completionUploadResponse:(NSURLResponse *)response withResponseObject:(id)responseObject andError:(NSError *)error;
65-
@end

Coding_iOS/Util/Manager/Coding_FileManager.m

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,8 @@ - (Coding_UploadTask *)addUploadTaskWithFileName:(NSString *)fileName{
240240

241241
if (error) {
242242
[manager showError:error];
243-
if (manager.delegate && [manager.delegate respondsToSelector:@selector(completionUploadResponse:withResponseObject:andError:)]) {
244-
[manager.delegate completionUploadResponse:response withResponseObject:nil andError:error];
245-
}
243+
[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationUploadCompled object:manager userInfo:@{@"response" : response,
244+
@"error" : error}];
246245
}else{
247246
NSString *block_project_id = [[[[response.URL.absoluteString componentsSeparatedByString:@"/project/"] lastObject] componentsSeparatedByString:@"/file/"] firstObject];
248247

@@ -263,9 +262,8 @@ - (Coding_UploadTask *)addUploadTaskWithFileName:(NSString *)fileName{
263262
[[Coding_FileManager sharedManager] removeCUploadTaskForFile:block_fileName hasError:(error != nil)];
264263

265264
//处理completionHandler
266-
if (manager.delegate && [manager.delegate respondsToSelector:@selector(completionUploadResponse:withResponseObject:andError:)]) {
267-
[manager.delegate completionUploadResponse:response withResponseObject:curFile andError:nil];
268-
}
265+
[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationUploadCompled object:manager userInfo:@{@"response" : response,
266+
@"data" : curFile}];
269267
}
270268
}];
271269

0 commit comments

Comments
 (0)