YOUPAISYBaseCollectionCell.m 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //
  2. // YOUPAISYBaseCollectionCell.m
  3. // VQU
  4. //
  5. // Created by leo on 2020/4/21.
  6. // Copyright © 2020 leo. All rights reserved.
  7. //
  8. #import "YOUPAISYBaseCollectionCell.h"
  9. #import <objc/runtime.h>
  10. @implementation YOUPAISYBaseCollectionCell
  11. + (instancetype)youpaifcellWithCollectionViewCell:(UICollectionView *)collectionView indexPath:(NSIndexPath *)indexPath {
  12. NSString *className = NSStringFromClass([self class]);
  13. id rigistedClass = objc_getAssociatedObject(self, (__bridge const void * _Nonnull)(className));
  14. if (!rigistedClass) {
  15. [collectionView registerClass:[self class] forCellWithReuseIdentifier:className];
  16. rigistedClass = NSStringFromClass([self class]);
  17. objc_setAssociatedObject(self, (__bridge const void * _Nonnull)(className), rigistedClass, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
  18. }
  19. UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:className forIndexPath:indexPath];
  20. return (YOUPAISYBaseCollectionCell *)cell;
  21. }
  22. - (instancetype)initWithFrame:(CGRect)frame {
  23. self = [super initWithFrame:frame];
  24. if (self) {
  25. [self youpaifsetupUI];
  26. }
  27. return self;
  28. }
  29. - (void)youpaifsetupUI {
  30. }
  31. @end