From 86ccd33a844c8090636d2aab2625796298de7ae9 Mon Sep 17 00:00:00 2001 From: Eric Jensen Date: Mon, 7 Mar 2016 16:52:34 -0800 Subject: [PATCH 1/4] Correct a few documentation comments for method parameters --- AsyncDisplayKit/ASCollectionView.h | 2 +- .../ASCollectionViewLayoutFacilitatorProtocol.h | 10 +++++----- AsyncDisplayKit/ASControlNode.h | 2 +- AsyncDisplayKit/ASControlNode.mm | 2 +- AsyncDisplayKit/ASImageNode.h | 2 +- AsyncDisplayKit/ASPagerNode.h | 2 +- AsyncDisplayKit/Details/ASImageProtocols.h | 8 ++++---- AsyncDisplayKit/Details/ASRangeController.h | 2 +- .../Details/Transactions/_ASAsyncTransaction.h | 1 - AsyncDisplayKit/Details/_ASDisplayLayer.h | 4 ++-- AsyncDisplayKit/TextKit/ASTextKitHelpers.h | 1 - Base/ASEqualityHelpers.h | 2 +- 12 files changed, 18 insertions(+), 20 deletions(-) diff --git a/AsyncDisplayKit/ASCollectionView.h b/AsyncDisplayKit/ASCollectionView.h index 9619939bd7..8d1c909ad6 100644 --- a/AsyncDisplayKit/ASCollectionView.h +++ b/AsyncDisplayKit/ASCollectionView.h @@ -173,7 +173,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Registers the given kind of supplementary node for use in creating node-backed supplementary views. * - * @param kind The kind of supplementary node that will be requested through the data source. + * @param elementKind The kind of supplementary node that will be requested through the data source. * * @discussion Use this method to register support for the use of supplementary nodes in place of the default * `registerClass:forSupplementaryViewOfKind:withReuseIdentifier:` and `registerNib:forSupplementaryViewOfKind:withReuseIdentifier:` diff --git a/AsyncDisplayKit/ASCollectionViewLayoutFacilitatorProtocol.h b/AsyncDisplayKit/ASCollectionViewLayoutFacilitatorProtocol.h index 514df97448..b681ceaad4 100644 --- a/AsyncDisplayKit/ASCollectionViewLayoutFacilitatorProtocol.h +++ b/AsyncDisplayKit/ASCollectionViewLayoutFacilitatorProtocol.h @@ -18,8 +18,8 @@ /** * Inform that the collectionView is editing the cells at a list of indexPaths * - * @param indexPaths, an array of NSIndexPath objects of cells being/will be edited. - * @param isBatched, indicates whether the editing operation will be batched by the collectionView + * @param indexPaths an array of NSIndexPath objects of cells being/will be edited. + * @param isBatched indicates whether the editing operation will be batched by the collectionView * * NOTE: when isBatched, used in combination with -collectionViewWillPerformBatchUpdates */ @@ -28,10 +28,10 @@ /** * Inform that the collectionView is editing the sections at a set of indexes * - * @param indexes, an NSIndexSet of section indexes being/will be edited. - * @param isBatched, indicates whether the editing operation will be batched by the collectionView + * @param indexes an NSIndexSet of section indexes being/will be edited. + * @param batched indicates whether the editing operation will be batched by the collectionView * - * NOTE: when isBatched, used in combination with -collectionViewWillPerformBatchUpdates + * NOTE: when batched, used in combination with -collectionViewWillPerformBatchUpdates */ - (void)collectionViewWillEditSectionsAtIndexSet:(NSIndexSet *)indexes batched:(BOOL)batched; diff --git a/AsyncDisplayKit/ASControlNode.h b/AsyncDisplayKit/ASControlNode.h index 8b2de8369c..886855f008 100644 --- a/AsyncDisplayKit/ASControlNode.h +++ b/AsyncDisplayKit/ASControlNode.h @@ -122,7 +122,7 @@ typedef NS_OPTIONS(NSUInteger, ASControlState) { /** Class method to enable a visualization overlay of the tapable area on the ASControlNode. For app debugging purposes only. - @param enabled Specify YES to make this debug feature enabled when messaging the ASControlNode class. + @param enable Specify YES to make this debug feature enabled when messaging the ASControlNode class. */ + (void)setEnableHitTestDebug:(BOOL)enable; @end diff --git a/AsyncDisplayKit/ASControlNode.mm b/AsyncDisplayKit/ASControlNode.mm index fcfb67ca6e..9607eacb8c 100644 --- a/AsyncDisplayKit/ASControlNode.mm +++ b/AsyncDisplayKit/ASControlNode.mm @@ -63,7 +63,7 @@ id _ASControlNodeEventKeyForControlEvent(ASControlNodeEvent controlEv @abstract Enumerates the ASControlNode events included mask, invoking the block for each event. @param mask An ASControlNodeEvent mask. @param block The block to be invoked for each ASControlNodeEvent included in mask. - @param anEvent An even that is included in mask. + @param anEvent An even that is included in mask. */ void _ASEnumerateControlEventsIncludedInMaskWithBlock(ASControlNodeEvent mask, void (^block)(ASControlNodeEvent anEvent)); diff --git a/AsyncDisplayKit/ASImageNode.h b/AsyncDisplayKit/ASImageNode.h index 0012350331..b2298752e5 100644 --- a/AsyncDisplayKit/ASImageNode.h +++ b/AsyncDisplayKit/ASImageNode.h @@ -131,7 +131,7 @@ asimagenode_modification_block_t ASImageNodeRoundBorderModificationBlock(CGFloat * @abstract Image modification block that applies a tint color à la UIImage configured with * renderingMode set to UIImageRenderingModeAlwaysTemplate. * - * @param tintColor The color to tint the image. + * @param color The color to tint the image. * * @see * diff --git a/AsyncDisplayKit/ASPagerNode.h b/AsyncDisplayKit/ASPagerNode.h index ea237ef5a1..7b64836928 100644 --- a/AsyncDisplayKit/ASPagerNode.h +++ b/AsyncDisplayKit/ASPagerNode.h @@ -55,7 +55,7 @@ /** * Provides the constrained size range for measuring the node at the index path. * - * @param collectionView The sender. + * @param pagerNode The sender. * * @param indexPath The index path of the node. * diff --git a/AsyncDisplayKit/Details/ASImageProtocols.h b/AsyncDisplayKit/Details/ASImageProtocols.h index 46811e88c6..c9c61cdd2d 100644 --- a/AsyncDisplayKit/Details/ASImageProtocols.h +++ b/AsyncDisplayKit/Details/ASImageProtocols.h @@ -22,7 +22,7 @@ typedef void(^ASImageCacherCompletion)(UIImage * _Nullable imageFromCache); @param URL The URL of the image to retrieve from the cache. @param callbackQueue The queue to call `completion` on. @param completion The block to be called when the cache has either hit or missed. - @param imageFromCache The image that was retrieved from the cache, if the image could be retrieved; nil otherwise. + @param imageFromCache The image that was retrieved from the cache, if the image could be retrieved; nil otherwise. @discussion If `URL` is nil, `completion` will be invoked immediately with a nil image. This method should not block the calling thread as it is likely to be called from the main thread. */ @@ -70,10 +70,10 @@ typedef NS_ENUM(NSUInteger, ASImageDownloaderPriority) { @param URL The URL of the image to download. @param callbackQueue The queue to call `downloadProgressBlock` and `completion` on. @param downloadProgress The block to be invoked when the download of `URL` progresses. - @param progress The progress of the download, in the range of (0.0, 1.0), inclusive. + @param progress The progress of the download, in the range of (0.0, 1.0), inclusive. @param completion The block to be invoked when the download has completed, or has failed. - @param image The image that was downloaded, if the image could be successfully downloaded; nil otherwise. - @param error An error describing why the download of `URL` failed, if the download failed; nil otherwise. + @param image The image that was downloaded, if the image could be successfully downloaded; nil otherwise. + @param error An error describing why the download of `URL` failed, if the download failed; nil otherwise. @discussion This method is likely to be called on the main thread, so any custom implementations should make sure to background any expensive download operations. @result An opaque identifier to be used in canceling the download, via `cancelImageDownloadForIdentifier:`. You must retain the identifier if you wish to use it later. diff --git a/AsyncDisplayKit/Details/ASRangeController.h b/AsyncDisplayKit/Details/ASRangeController.h index b90d559024..71ff98cced 100644 --- a/AsyncDisplayKit/Details/ASRangeController.h +++ b/AsyncDisplayKit/Details/ASRangeController.h @@ -50,7 +50,7 @@ NS_ASSUME_NONNULL_BEGIN * * @param contentView UIView to add a (sized) node's view to. * - * @param cellNode The cell node to be added. + * @param node The cell node to be added. */ - (void)configureContentView:(UIView *)contentView forCellNode:(ASCellNode *)node; diff --git a/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h b/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h index 3670f2da16..f169d4e50f 100644 --- a/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h +++ b/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h @@ -158,7 +158,6 @@ extern NSInteger const ASDefaultTransactionPriority; /** @summary Adds a block to run on the completion of the async transaction. - @param queue The dispatch queue on which to execute the block. @param completion The completion block that will be executed with the output of the execution block when all of the operations in the transaction are completed. Executed and released on callbackQueue. */ diff --git a/AsyncDisplayKit/Details/_ASDisplayLayer.h b/AsyncDisplayKit/Details/_ASDisplayLayer.h index 95e59660a9..2687de523c 100644 --- a/AsyncDisplayKit/Details/_ASDisplayLayer.h +++ b/AsyncDisplayKit/Details/_ASDisplayLayer.h @@ -81,7 +81,7 @@ typedef BOOL(^asdisplaynode_iscancelled_block_t)(void); /** @summary Delegate method to draw layer contents into a CGBitmapContext. The current UIGraphics context will be set to an appropriate context. @param parameters An object describing all of the properties you need to draw. Return this from -drawParametersForAsyncLayer: - @param isCancelled Execute this block to check whether the current drawing operation has been cancelled to avoid unnecessary work. A return value of YES means cancel drawing and return. + @param isCancelledBlock Execute this block to check whether the current drawing operation has been cancelled to avoid unnecessary work. A return value of YES means cancel drawing and return. @param isRasterizing YES if the layer is being rasterized into another layer, in which case drawRect: probably wants to avoid doing things like filling its bounds with a zero-alpha color to clear the backing store. */ + (void)drawRect:(CGRect)bounds withParameters:(id)parameters isCancelled:(asdisplaynode_iscancelled_block_t)isCancelledBlock isRasterizing:(BOOL)isRasterizing; @@ -89,7 +89,7 @@ typedef BOOL(^asdisplaynode_iscancelled_block_t)(void); /** @summary Delegate override to provide new layer contents as a UIImage. @param parameters An object describing all of the properties you need to draw. Return this from -drawParametersForAsyncLayer: - @param isCancelled Execute this block to check whether the current drawing operation has been cancelled to avoid unnecessary work. A return value of YES means cancel drawing and return. + @param isCancelledBlock Execute this block to check whether the current drawing operation has been cancelled to avoid unnecessary work. A return value of YES means cancel drawing and return. @return A UIImage with contents that are ready to display on the main thread. Make sure that the image is already decoded before returning it here. */ + (UIImage *)displayWithParameters:(id)parameters isCancelled:(asdisplaynode_iscancelled_block_t)isCancelledBlock; diff --git a/AsyncDisplayKit/TextKit/ASTextKitHelpers.h b/AsyncDisplayKit/TextKit/ASTextKitHelpers.h index 12ec10472a..c66b019f96 100644 --- a/AsyncDisplayKit/TextKit/ASTextKitHelpers.h +++ b/AsyncDisplayKit/TextKit/ASTextKitHelpers.h @@ -42,7 +42,6 @@ ASDISPLAYNODE_INLINE CGSize ceilSizeValue(CGSize s) /** @abstract Returns the bounding size for the text view's text. - @param components The TextKit components to calculate the constrained size of the text for. @param constrainedWidth The constraining width to be used during text-sizing. Usually, this value should be the receiver's calculated size. @result A CGSize representing the bounding size for the receiver's text. */ diff --git a/Base/ASEqualityHelpers.h b/Base/ASEqualityHelpers.h index 84a4658db8..e4447aef0c 100644 --- a/Base/ASEqualityHelpers.h +++ b/Base/ASEqualityHelpers.h @@ -11,7 +11,7 @@ /** @abstract Correctly equates two objects, including cases where both objects are nil. The latter is a case where `isEqual:` fails. @param obj The first object in the comparison. Can be nil. - @param obj The second object in the comparison. Can be nil. + @param otherObj The second object in the comparison. Can be nil. @result YES if the objects are equal, including cases where both object are nil. */ ASDISPLAYNODE_INLINE BOOL ASObjectIsEqual(id obj, id otherObj) From 3d34c177edb1b0c1478c347932656ea8e2402206 Mon Sep 17 00:00:00 2001 From: Eric Jensen Date: Tue, 8 Mar 2016 09:23:10 -0800 Subject: [PATCH 2/4] Flatten indentation of parameter hierarchy --- AsyncDisplayKit/ASControlNode.mm | 2 +- AsyncDisplayKit/ASMultiplexImageNode.mm | 14 +++++++------- AsyncDisplayKit/Details/ASImageProtocols.h | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/AsyncDisplayKit/ASControlNode.mm b/AsyncDisplayKit/ASControlNode.mm index 9607eacb8c..fcfb67ca6e 100644 --- a/AsyncDisplayKit/ASControlNode.mm +++ b/AsyncDisplayKit/ASControlNode.mm @@ -63,7 +63,7 @@ id _ASControlNodeEventKeyForControlEvent(ASControlNodeEvent controlEv @abstract Enumerates the ASControlNode events included mask, invoking the block for each event. @param mask An ASControlNodeEvent mask. @param block The block to be invoked for each ASControlNodeEvent included in mask. - @param anEvent An even that is included in mask. + @param anEvent An even that is included in mask. */ void _ASEnumerateControlEventsIncludedInMaskWithBlock(ASControlNodeEvent mask, void (^block)(ASControlNodeEvent anEvent)); diff --git a/AsyncDisplayKit/ASMultiplexImageNode.mm b/AsyncDisplayKit/ASMultiplexImageNode.mm index e2a9a71759..917cd192f4 100644 --- a/AsyncDisplayKit/ASMultiplexImageNode.mm +++ b/AsyncDisplayKit/ASMultiplexImageNode.mm @@ -124,7 +124,7 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent @param imageIdentifier The identifier for the image to be fetched. May not be nil. @param imageURL The URL of the image to fetch. May not be nil. @param completionBlock The block to be performed when the image has been fetched from the cache, if possible. May not be nil. - @param image The image fetched from the cache, if any. + @param image The image fetched from the cache, if any. @discussion This method queries both the session's in-memory and on-disk caches (with preference for the in-memory cache). */ - (void)_fetchImageWithIdentifierFromCache:(id)imageIdentifier URL:(NSURL *)imageURL completion:(void (^)(UIImage *image))completionBlock; @@ -135,8 +135,8 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent @param imageIdentifier The identifier for the image to be loaded. May not be nil. @param assetURL The assets-library URL (e.g., "assets-library://identifier") of the image to load, from ALAsset. May not be nil. @param completionBlock The block to be performed when the image has been loaded, if possible. May not be nil. - @param image The image that was loaded. May be nil if no image could be downloaded. - @param error An error describing why the load failed, if it failed; nil otherwise. + @param image The image that was loaded. May be nil if no image could be downloaded. + @param error An error describing why the load failed, if it failed; nil otherwise. */ - (void)_loadALAssetWithIdentifier:(id)imageIdentifier URL:(NSURL *)assetURL completion:(void (^)(UIImage *image, NSError *error))completionBlock; @@ -145,8 +145,8 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent @param imageIdentifier The identifier for the image to be loaded. May not be nil. @param request The photos image request to load. May not be nil. @param completionBlock The block to be performed when the image has been loaded, if possible. May not be nil. - @param image The image that was loaded. May be nil if no image could be downloaded. - @param error An error describing why the load failed, if it failed; nil otherwise. + @param image The image that was loaded. May be nil if no image could be downloaded. + @param error An error describing why the load failed, if it failed; nil otherwise. */ - (void)_loadPHAssetWithRequest:(ASPhotosFrameworkImageRequest *)request identifier:(id)imageIdentifier completion:(void (^)(UIImage *image, NSError *error))completionBlock; #endif @@ -155,8 +155,8 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent @param imageIdentifier The identifier for the image to be downloaded. May not be nil. @param imageURL The URL of the image to downloaded. May not be nil. @param completionBlock The block to be performed when the image has been downloaded, if possible. May not be nil. - @param image The image that was downloaded. May be nil if no image could be downloaded. - @param error An error describing why the download failed, if it failed; nil otherwise. + @param image The image that was downloaded. May be nil if no image could be downloaded. + @param error An error describing why the download failed, if it failed; nil otherwise. */ - (void)_downloadImageWithIdentifier:(id)imageIdentifier URL:(NSURL *)imageURL completion:(void (^)(UIImage *image, NSError *error))completionBlock; diff --git a/AsyncDisplayKit/Details/ASImageProtocols.h b/AsyncDisplayKit/Details/ASImageProtocols.h index c9c61cdd2d..46811e88c6 100644 --- a/AsyncDisplayKit/Details/ASImageProtocols.h +++ b/AsyncDisplayKit/Details/ASImageProtocols.h @@ -22,7 +22,7 @@ typedef void(^ASImageCacherCompletion)(UIImage * _Nullable imageFromCache); @param URL The URL of the image to retrieve from the cache. @param callbackQueue The queue to call `completion` on. @param completion The block to be called when the cache has either hit or missed. - @param imageFromCache The image that was retrieved from the cache, if the image could be retrieved; nil otherwise. + @param imageFromCache The image that was retrieved from the cache, if the image could be retrieved; nil otherwise. @discussion If `URL` is nil, `completion` will be invoked immediately with a nil image. This method should not block the calling thread as it is likely to be called from the main thread. */ @@ -70,10 +70,10 @@ typedef NS_ENUM(NSUInteger, ASImageDownloaderPriority) { @param URL The URL of the image to download. @param callbackQueue The queue to call `downloadProgressBlock` and `completion` on. @param downloadProgress The block to be invoked when the download of `URL` progresses. - @param progress The progress of the download, in the range of (0.0, 1.0), inclusive. + @param progress The progress of the download, in the range of (0.0, 1.0), inclusive. @param completion The block to be invoked when the download has completed, or has failed. - @param image The image that was downloaded, if the image could be successfully downloaded; nil otherwise. - @param error An error describing why the download of `URL` failed, if the download failed; nil otherwise. + @param image The image that was downloaded, if the image could be successfully downloaded; nil otherwise. + @param error An error describing why the download of `URL` failed, if the download failed; nil otherwise. @discussion This method is likely to be called on the main thread, so any custom implementations should make sure to background any expensive download operations. @result An opaque identifier to be used in canceling the download, via `cancelImageDownloadForIdentifier:`. You must retain the identifier if you wish to use it later. From 84357c4a4846059e23312946e123e0320eb70501 Mon Sep 17 00:00:00 2001 From: Eric Jensen Date: Tue, 8 Mar 2016 09:51:57 -0800 Subject: [PATCH 3/4] Correct a couple more documentation comments --- AsyncDisplayKit/ASButtonNode.h | 4 +--- AsyncDisplayKit/ASTableViewInternal.h | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/AsyncDisplayKit/ASButtonNode.h b/AsyncDisplayKit/ASButtonNode.h index 89bd5ca245..22e755fe95 100644 --- a/AsyncDisplayKit/ASButtonNode.h +++ b/AsyncDisplayKit/ASButtonNode.h @@ -38,9 +38,7 @@ @property (nonatomic, assign) ASVerticalAlignment contentVerticalAlignment; /** - * @discussion insets the title and the image node - * - * @param contentEdgeInsets The insets used around the title and image node + * @discussion The insets used around the title and image node */ @property (nonatomic, assign) UIEdgeInsets contentEdgeInsets; diff --git a/AsyncDisplayKit/ASTableViewInternal.h b/AsyncDisplayKit/ASTableViewInternal.h index e92a7b84e0..c6e444dfda 100644 --- a/AsyncDisplayKit/ASTableViewInternal.h +++ b/AsyncDisplayKit/ASTableViewInternal.h @@ -26,7 +26,7 @@ * * @param dataControllerClass A controller class injected to and used to create a data controller for the table view. * - * @param asyncDataFetchingEnabled This option is reserved for future use, and currently a no-op. + * @param ownedByNode Indicates whether the tableView is owned by an ASTableNode. */ - (instancetype)_initWithFrame:(CGRect)frame style:(UITableViewStyle)style dataControllerClass:(Class)dataControllerClass ownedByNode:(BOOL)ownedByNode; From c2f85397ce458e120ddf6fc401e531c18281f1ed Mon Sep 17 00:00:00 2001 From: Eric Jensen Date: Tue, 8 Mar 2016 09:59:46 -0800 Subject: [PATCH 4/4] Mark depreciated protocols with deprivation attribute --- AsyncDisplayKit/ASMultiplexImageNode.mm | 6 ++++++ AsyncDisplayKit/ASNetworkImageNode.mm | 6 ++++++ AsyncDisplayKit/Details/ASImageProtocols.h | 6 +++--- AsyncDisplayKitTests/ASBasicImageDownloaderTests.m | 9 +++++++-- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/AsyncDisplayKit/ASMultiplexImageNode.mm b/AsyncDisplayKit/ASMultiplexImageNode.mm index 917cd192f4..db67cc4a21 100644 --- a/AsyncDisplayKit/ASMultiplexImageNode.mm +++ b/AsyncDisplayKit/ASMultiplexImageNode.mm @@ -737,10 +737,13 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent completionBlock(imageFromCache); }]; } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [_cache fetchCachedImageWithURL:imageURL callbackQueue:dispatch_get_main_queue() completion:^(CGImageRef coreGraphicsImageFromCache) { UIImage *imageFromCache = (coreGraphicsImageFromCache ? [UIImage imageWithCGImage:coreGraphicsImageFromCache] : nil); completionBlock(imageFromCache); }]; +#pragma clang diagnostic pop } } // If we don't have a cache, just fail immediately. @@ -795,6 +798,8 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent [strongSelf->_delegate multiplexImageNode:weakSelf didFinishDownloadingImageWithIdentifier:imageIdentifier error:error]; }]]; } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [self _setDownloadIdentifier:[_downloader downloadImageWithURL:imageURL callbackQueue:dispatch_get_main_queue() downloadProgressBlock:downloadProgressBlock @@ -811,6 +816,7 @@ typedef void(^ASMultiplexImageLoadCompletionBlock)(UIImage *image, id imageIdent if (strongSelf->_delegateFlags.downloadFinish) [strongSelf->_delegate multiplexImageNode:weakSelf didFinishDownloadingImageWithIdentifier:imageIdentifier error:error]; }]]; +#pragma clang diagnostic pop } }); } diff --git a/AsyncDisplayKit/ASNetworkImageNode.mm b/AsyncDisplayKit/ASNetworkImageNode.mm index 9a35fdbe6a..fb62a7f124 100755 --- a/AsyncDisplayKit/ASNetworkImageNode.mm +++ b/AsyncDisplayKit/ASNetworkImageNode.mm @@ -295,6 +295,8 @@ static const CGSize kMinReleaseImageOnBackgroundSize = {20.0, 20.0}; } }]; } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" _downloadIdentifier = [_downloader downloadImageWithURL:_URL callbackQueue:dispatch_get_main_queue() downloadProgressBlock:NULL @@ -303,6 +305,7 @@ static const CGSize kMinReleaseImageOnBackgroundSize = {20.0, 20.0}; finished([UIImage imageWithCGImage:responseImage], error, nil); } }]; +#pragma clang diagnostic pop } }); } @@ -401,11 +404,14 @@ static const CGSize kMinReleaseImageOnBackgroundSize = {20.0, 20.0}; callbackQueue:dispatch_get_main_queue() completion:cacheCompletion]; } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [_cache fetchCachedImageWithURL:_URL callbackQueue:dispatch_get_main_queue() completion:^(CGImageRef image) { cacheCompletion([UIImage imageWithCGImage:image]); }]; +#pragma clang diagnostic pop } } else { [self _downloadImageWithCompletion:finished]; diff --git a/AsyncDisplayKit/Details/ASImageProtocols.h b/AsyncDisplayKit/Details/ASImageProtocols.h index 46811e88c6..ddbccb0eb1 100644 --- a/AsyncDisplayKit/Details/ASImageProtocols.h +++ b/AsyncDisplayKit/Details/ASImageProtocols.h @@ -7,7 +7,7 @@ */ #import -#import +#import NS_ASSUME_NONNULL_BEGIN @@ -115,7 +115,7 @@ withDownloadIdentifier:(id)downloadIdentifier; - (nullable id)downloadImageWithURL:(NSURL *)URL callbackQueue:(nullable dispatch_queue_t)callbackQueue downloadProgressBlock:(void (^ _Nullable)(CGFloat progress))downloadProgressBlock - completion:(void (^ _Nullable)(CGImageRef _Nullable image, NSError * _Nullable error))completion; + completion:(void (^ _Nullable)(CGImageRef _Nullable image, NSError * _Nullable error))completion ASDISPLAYNODE_DEPRECATED; @end @@ -127,7 +127,7 @@ withDownloadIdentifier:(id)downloadIdentifier; */ - (void)fetchCachedImageWithURL:(nullable NSURL *)URL callbackQueue:(nullable dispatch_queue_t)callbackQueue - completion:(void (^)(CGImageRef _Nullable imageFromCache))completion; + completion:(void (^)(CGImageRef _Nullable imageFromCache))completion ASDISPLAYNODE_DEPRECATED; @end diff --git a/AsyncDisplayKitTests/ASBasicImageDownloaderTests.m b/AsyncDisplayKitTests/ASBasicImageDownloaderTests.m index 9def4240a1..02d5d9d127 100644 --- a/AsyncDisplayKitTests/ASBasicImageDownloaderTests.m +++ b/AsyncDisplayKitTests/ASBasicImageDownloaderTests.m @@ -22,7 +22,10 @@ ASBasicImageDownloader *downloader = [ASBasicImageDownloader sharedImageDownloader]; NSURL *URL = [NSURL URLWithString:@"http://wrongPath/wrongResource.png"]; - + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + __block BOOL firstDone = NO; [downloader downloadImageWithURL:URL @@ -40,7 +43,9 @@ completion:^(CGImageRef image, NSError *error) { secondDone = YES; }]; - + +#pragma clang diagnostic pop + sleep(3); XCTAssert(firstDone && secondDone, @"Not all ASBasicImageDownloader completion handlers have been called after 3 seconds"); }