Avatar
Kishikawa Katsumi 8/10/2019 2:16 PM
@implementation IBPUICollectionViewCompositionalLayout - (instancetype)initWithSection:(IBPNSCollectionLayoutSection *)section { if (@available(iOS 13, *)) { #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 return [[UICollectionViewCompositionalLayout alloc] initWithSection:section]; #else return nil; #endif } else { IBPUICollectionViewCompositionalLayoutConfiguration *configuration = [[IBPUICollectionViewCompositionalLayoutConfiguration alloc] init]; return [self initWithSection:section configuration:configuration]; } } イニシャライザで分岐してiOS 13以上と以下で違うインスタンスを返すというテクニックとも言えない力技で、特にRuntime APIを使う必要もなかった。