From da5f7eccd9f3144bbd0c2a3f62ab9f909e169a76 Mon Sep 17 00:00:00 2001 From: Matej Knopp Date: Wed, 27 Jan 2016 00:37:27 +0100 Subject: [PATCH] [_ASAsyncTransaction] make priority a NSInteger with default to 0 Signed-off-by: Matej Knopp --- AsyncDisplayKit/ASDisplayNode.h | 4 ++-- AsyncDisplayKit/ASDisplayNode.mm | 10 +++++----- .../Details/Transactions/_ASAsyncTransaction.h | 6 +++--- .../Details/Transactions/_ASAsyncTransaction.mm | 16 ++++++++-------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/AsyncDisplayKit/ASDisplayNode.h b/AsyncDisplayKit/ASDisplayNode.h index 77f175350e..ab3b40b524 100644 --- a/AsyncDisplayKit/ASDisplayNode.h +++ b/AsyncDisplayKit/ASDisplayNode.h @@ -69,7 +69,7 @@ typedef NS_OPTIONS(NSUInteger, ASInterfaceState) /** * Default drawing priority for display node */ -extern NSUInteger const ASDefaultDrawingPriority; +extern NSInteger const ASDefaultDrawingPriority; /** * An `ASDisplayNode` is an abstraction over `UIView` and `CALayer` that allows you to perform calculations about a view @@ -486,7 +486,7 @@ NS_ASSUME_NONNULL_BEGIN * @discussion Defaults to ASDefaultDrawingPriority. There may be multiple drawing threads, and some of them may * decide to perform operations in queued order (regardless of drawingPriority) */ -@property (nonatomic, assign) NSUInteger drawingPriority; +@property (nonatomic, assign) NSInteger drawingPriority; /** @name Hit Testing */ diff --git a/AsyncDisplayKit/ASDisplayNode.mm b/AsyncDisplayKit/ASDisplayNode.mm index 5b6b87e5e7..9c7cbe6d75 100644 --- a/AsyncDisplayKit/ASDisplayNode.mm +++ b/AsyncDisplayKit/ASDisplayNode.mm @@ -26,7 +26,7 @@ #import "ASLayoutSpec.h" #import "ASCellNode.h" -NSUInteger const ASDefaultDrawingPriority = ASDefaultTransactionPriority; +NSInteger const ASDefaultDrawingPriority = ASDefaultTransactionPriority; @interface ASDisplayNode () @@ -2240,7 +2240,7 @@ static void _recursivelySetDisplaySuspended(ASDisplayNode *node, CALayer *layer, static const char *ASDisplayNodeDrawingPriorityKey = "ASDrawingPriority"; -- (void)setDrawingPriority:(NSUInteger)drawingPriority +- (void)setDrawingPriority:(NSInteger)drawingPriority { ASDisplayNodeAssertThreadAffinity(self); ASDN::MutexLocker l(_propertyLock); @@ -2249,18 +2249,18 @@ static const char *ASDisplayNodeDrawingPriorityKey = "ASDrawingPriority"; objc_setAssociatedObject(self, ASDisplayNodeDrawingPriorityKey, nil, OBJC_ASSOCIATION_ASSIGN); } else { _flags.hasCustomDrawingPriority = YES; - objc_setAssociatedObject(self, ASDisplayNodeDrawingPriorityKey, [NSNumber numberWithUnsignedInteger:drawingPriority], OBJC_ASSOCIATION_RETAIN); + objc_setAssociatedObject(self, ASDisplayNodeDrawingPriorityKey, [NSNumber numberWithInteger:drawingPriority], OBJC_ASSOCIATION_RETAIN); } } --(NSUInteger)drawingPriority +-(NSInteger)drawingPriority { ASDisplayNodeAssertThreadAffinity(self); ASDN::MutexLocker l(_propertyLock); if (!_flags.hasCustomDrawingPriority) return ASDefaultDrawingPriority; else - return [objc_getAssociatedObject(self, ASDisplayNodeDrawingPriorityKey) unsignedIntegerValue]; + return [objc_getAssociatedObject(self, ASDisplayNodeDrawingPriorityKey) integerValue]; } - (BOOL)isInHierarchy diff --git a/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h b/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h index 973a2da0ec..3670f2da16 100644 --- a/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h +++ b/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.h @@ -29,7 +29,7 @@ typedef NS_ENUM(NSUInteger, ASAsyncTransactionState) { ASAsyncTransactionStateComplete }; -extern NSUInteger const ASDefaultTransactionPriority; +extern NSInteger const ASDefaultTransactionPriority; /** @summary ASAsyncTransaction provides lightweight transaction semantics for asynchronous operations. @@ -110,7 +110,7 @@ extern NSUInteger const ASDefaultTransactionPriority; operations in the transaction are completed. Executed and released on callbackQueue. */ - (void)addOperationWithBlock:(asyncdisplaykit_async_transaction_operation_block_t)block - priority:(NSUInteger)priority + priority:(NSInteger)priority queue:(dispatch_queue_t)queue completion:(asyncdisplaykit_async_transaction_operation_completion_block_t)completion; @@ -149,7 +149,7 @@ extern NSUInteger const ASDefaultTransactionPriority; operations in the transaction are completed. Executed and released on callbackQueue. */ - (void)addAsyncOperationWithBlock:(asyncdisplaykit_async_transaction_async_operation_block_t)block - priority:(NSUInteger)priority + priority:(NSInteger)priority queue:(dispatch_queue_t)queue completion:(asyncdisplaykit_async_transaction_operation_completion_block_t)completion; diff --git a/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.mm b/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.mm index c606f3b6fb..66a4fb0df9 100644 --- a/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.mm +++ b/AsyncDisplayKit/Details/Transactions/_ASAsyncTransaction.mm @@ -13,7 +13,7 @@ #import #import -NSUInteger const ASDefaultTransactionPriority = 128; +NSInteger const ASDefaultTransactionPriority = 0; @interface ASDisplayNodeAsyncTransactionOperation : NSObject - (id)initWithOperationCompletionBlock:(asyncdisplaykit_async_transaction_operation_completion_block_t)operationCompletionBlock; @@ -65,7 +65,7 @@ public: virtual void release() = 0; // schedule block on given queue - virtual void schedule(NSUInteger priority, dispatch_queue_t queue, dispatch_block_t block) = 0; + virtual void schedule(NSInteger priority, dispatch_queue_t queue, dispatch_block_t block) = 0; // dispatch block on given queue when all previously scheduled blocks finished executing virtual void notify(dispatch_queue_t queue, dispatch_block_t block) = 0; @@ -105,7 +105,7 @@ private: } virtual void release(); - virtual void schedule(NSUInteger priority, dispatch_queue_t queue, dispatch_block_t block); + virtual void schedule(NSInteger priority, dispatch_queue_t queue, dispatch_block_t block); virtual void notify(dispatch_queue_t queue, dispatch_block_t block); virtual void enter(); virtual void leave(); @@ -122,14 +122,14 @@ private: { dispatch_block_t _block; GroupImpl *_group; - NSUInteger _priority; + NSInteger _priority; }; struct DispatchEntry // entry for each dispatch queue { typedef std::list OperationQueue; typedef std::list OperationIteratorList; // each item points to operation queue - typedef std::map OperationPriorityMap; // sorted by priority + typedef std::map OperationPriorityMap; // sorted by priority OperationQueue _operationQueue; OperationPriorityMap _operationPriorityMap; @@ -197,7 +197,7 @@ void ASAsyncTransactionQueue::DispatchEntry::pushOperation(ASAsyncTransactionQue list.push_back(--_operationQueue.end()); } -void ASAsyncTransactionQueue::GroupImpl::schedule(NSUInteger priority, dispatch_queue_t queue, dispatch_block_t block) +void ASAsyncTransactionQueue::GroupImpl::schedule(NSInteger priority, dispatch_queue_t queue, dispatch_block_t block) { ASAsyncTransactionQueue &q = _queue; ASDN::MutexLocker locker(q._mutex); @@ -353,7 +353,7 @@ ASAsyncTransactionQueue & ASAsyncTransactionQueue::instance() } - (void)addAsyncOperationWithBlock:(asyncdisplaykit_async_transaction_async_operation_block_t)block - priority:(NSUInteger)priority + priority:(NSInteger)priority queue:(dispatch_queue_t)queue completion:(asyncdisplaykit_async_transaction_operation_completion_block_t)completion { @@ -388,7 +388,7 @@ ASAsyncTransactionQueue & ASAsyncTransactionQueue::instance() } - (void)addOperationWithBlock:(asyncdisplaykit_async_transaction_operation_block_t)block - priority:(NSUInteger)priority + priority:(NSInteger)priority queue:(dispatch_queue_t)queue completion:(asyncdisplaykit_async_transaction_operation_completion_block_t)completion {