diff --git a/Parse/Internal/File/PFFile_Private.h b/Parse/Internal/File/PFFile_Private.h index 9d3c81135..88117af09 100644 --- a/Parse/Internal/File/PFFile_Private.h +++ b/Parse/Internal/File/PFFile_Private.h @@ -16,15 +16,16 @@ @class BFTask; +NS_ASSUME_NONNULL_BEGIN + @interface PFFile (Private) @property (nonatomic, strong, readonly) PFFileState *state; -+ (instancetype)fileWithName:(NSString *)name url:(NSString *)url; ++ (instancetype)fileWithName:(nullable NSString *)name url:(nullable NSString *)url; -// -// Download -- (BFTask *)_getDataAsyncWithProgressBlock:(PFProgressBlock)block; -- (NSString *)_cachedFilePath; +- (nullable NSString *)_cachedFilePath; @end + +NS_ASSUME_NONNULL_END diff --git a/Parse/PFFile.m b/Parse/PFFile.m index f062b4cec..cbead8dbb 100644 --- a/Parse/PFFile.m +++ b/Parse/PFFile.m @@ -47,7 +47,7 @@ @interface PFFile () { @implementation PFFile -@synthesize stagedFilePath=_stagedFilePath; +@synthesize stagedFilePath = _stagedFilePath; ///-------------------------------------- #pragma mark - Public @@ -114,14 +114,6 @@ + (instancetype)fileWithData:(NSData *)data contentType:(NSString *)contentType return [self fileWithName:nil data:data contentType:contentType]; } -#pragma mark Dealloc - -- (void)dealloc { -#if !OS_OBJECT_USE_OBJC - dispatch_release(_synchronizationQueue); -#endif -} - #pragma mark Uploading - (BOOL)save { @@ -315,13 +307,13 @@ - (BFTask *)_uploadFileAsyncWithSessionToken:(NSString *)sessionToken #pragma mark Download - (BFTask *)_getDataAsyncWithProgressBlock:(PFProgressBlock)progressBlock { - return [[self _downloadAsyncWithProgressBlock:progressBlock] continueAsyncWithSuccessBlock:^id(BFTask *task) { + return [[self _downloadAsyncWithProgressBlock:progressBlock] continueWithSuccessBlock:^id(BFTask *task) { return [self _cachedData]; }]; } - (BFTask *)_getDataStreamAsyncWithProgressBlock:(PFProgressBlock)progressBlock { - return [[self _downloadAsyncWithProgressBlock:progressBlock] continueAsyncWithSuccessBlock:^id(BFTask *task) { + return [[self _downloadAsyncWithProgressBlock:progressBlock] continueWithSuccessBlock:^id(BFTask *task) { return [self _cachedDataStream]; }]; } @@ -335,23 +327,6 @@ - (BFTask *)_downloadAsyncWithProgressBlock:(PFProgressBlock)progressBlock { cancellationToken = self.cancellationTokenSource.token; }]; - return [self _downloadAsyncWithCancellationToken:cancellationToken progressBlock:progressBlock]; -} - -- (BFTask *)_downloadStreamAsyncWithProgressBlock:(PFProgressBlock)progressBlock { - __block BFCancellationToken *cancellationToken = nil; - [self _performDataAccessBlock:^{ - if (!self.cancellationTokenSource || self.cancellationTokenSource.cancellationRequested) { - self.cancellationTokenSource = [BFCancellationTokenSource cancellationTokenSource]; - } - cancellationToken = self.cancellationTokenSource.token; - }]; - - return [self _downloadStreamAsyncWithCancellationToken:cancellationToken progressBlock:progressBlock]; -} - -- (BFTask *)_downloadAsyncWithCancellationToken:(BFCancellationToken *)cancellationToken - progressBlock:(PFProgressBlock)progressBlock { @weakify(self); return [self.taskQueue enqueue:^id(BFTask *task) { @strongify(self); @@ -372,8 +347,15 @@ - (BFTask *)_downloadAsyncWithCancellationToken:(BFCancellationToken *)cancellat }]; } -- (BFTask *)_downloadStreamAsyncWithCancellationToken:(BFCancellationToken *)cancellationToken - progressBlock:(PFProgressBlock)progressBlock { +- (BFTask *)_downloadStreamAsyncWithProgressBlock:(PFProgressBlock)progressBlock { + __block BFCancellationToken *cancellationToken = nil; + [self _performDataAccessBlock:^{ + if (!self.cancellationTokenSource || self.cancellationTokenSource.cancellationRequested) { + self.cancellationTokenSource = [BFCancellationTokenSource cancellationTokenSource]; + } + cancellationToken = self.cancellationTokenSource.token; + }]; + @weakify(self); return [self.taskQueue enqueue:^id(BFTask *task) { @strongify(self);