UICollectionView performBatchUpdates:completion: the completionBlock is not retained

Originator:ooklac
Number:rdar://29532491 Date Originated:06-Dec-2016 09:46 AM
Status:Open Resolved:
Product:iOS Product Version:10.1
Classification:Serious Bug Reproducible:Always
 
Summary:
When calling performBatchUpdates:completion: on UICollectionView, the completionBlock is not called unless it forcibly retained

Steps to Reproduce:
1) Use performBatchUpdates:completion: with a trivial completion block with no retain cycles. Let’s use a log statement that prints @“hi”


Expected Results:
Log statement executes and “hi” appears in the logs

Actual Results:
Log statement doesn’t execute (confirmed by debugger), and “hi” doesn’t appear.

Notes:
If you add a retain cycle, such as  including self in the the block, the block will execute.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!