Although we may not want to support this property long-term, there are some usages of it
that are difficult to avoid. Specifically because the complexity it adds is both low,
and contained to a small area of the code that would be easy to remove it, it would be
great to support this.
The usage relates to apps that require the Interop protocol, and are architected to expect
a few methods / protocols being implemented on the UICollectionView class itself. It does
not directly override ASCollectionView behaviors. So hypothetically, it would also work
if it were possible to set ASCollectionView's superclass.
Instead, the app is making its own subclass descend from ASCollectionView and use the interop
APIs, even in environments where there are no ASCellNodes ever returned.
* [ASMultiplex/NetworkImageNode] Ensure ASImageProtocols are not called with nil arguments.
* [ASBasic/PINRemoteImageDownloader] Do not check for nil downloadIdentifier needlessly.
* [ASImageCacheProtocol] Make synchronouslyFetchedCachedImageWithURL URL nonnull.
We have to check in this case if the supernode of the subnode is indeed the _node that executes a layout transition. It can happen that a node already did a layout transition and added this subnode, in this case the subnode would would be removed from the new node instead of _node.
- Before this commit:
- Bridged properties are accessed to construct a recursive description without considering thread affinity.
- We have multiple methods that does the same thing: generates a debug description.
- After this commit:
- Bridged properties are accessed without triggering thread affinity assertions.
- We have only one method that provides debug description of a node. It is then used to construct a recursive description.
UIImagePickerController inherits from UINavigationController, so
we should set the barStyle with the same default we use when creating
a UINavigationController.
This parameter was never used, instead using the property defined on
self. However, everywhere it was passed in as .FormSheet, which is
what the local property defaulted to.