Bladeren bron

fix: API risk -[UIView insertSubView: atIndex:] The view to insert. … (#1484)

* fix: API risk -[UIView insertSubView: atIndex:]  The view to insert. This value cannot be nil. refer to: https://developer.apple.com/documentation/uikit/uiview/1622538-insertsubview?language=objc
Samuel 5 jaren geleden
bovenliggende
commit
faac4caaf4
1 gewijzigde bestanden met toevoegingen van 9 en 5 verwijderingen
  1. 9 5
      MJRefresh/UIScrollView+MJRefresh.m

+ 9 - 5
MJRefresh/UIScrollView+MJRefresh.m

@@ -22,8 +22,10 @@ - (void)setMj_header:(MJRefreshHeader *)mj_header
     if (mj_header != self.mj_header) {
         // 删除旧的,添加新的
         [self.mj_header removeFromSuperview];
-        [self insertSubview:mj_header atIndex:0];
         
+        if (mj_header) {
+            [self insertSubview:mj_header atIndex:0];
+        }
         // 存储新的
         objc_setAssociatedObject(self, &MJRefreshHeaderKey,
                                  mj_header, OBJC_ASSOCIATION_RETAIN);
@@ -42,8 +44,9 @@ - (void)setMj_footer:(MJRefreshFooter *)mj_footer
     if (mj_footer != self.mj_footer) {
         // 删除旧的,添加新的
         [self.mj_footer removeFromSuperview];
-        [self insertSubview:mj_footer atIndex:0];
-        
+        if (mj_footer) {
+            [self insertSubview:mj_footer atIndex:0];
+        }
         // 存储新的
         objc_setAssociatedObject(self, &MJRefreshFooterKey,
                                  mj_footer, OBJC_ASSOCIATION_RETAIN);
@@ -61,8 +64,9 @@ - (void)setMj_trailer:(MJRefreshTrailer *)mj_trailer {
     if (mj_trailer != self.mj_trailer) {
         // 删除旧的,添加新的
         [self.mj_trailer removeFromSuperview];
-        [self insertSubview:mj_trailer atIndex:0];
-        
+        if (mj_trailer) {
+            [self insertSubview:mj_trailer atIndex:0];
+        }
         // 存储新的
         objc_setAssociatedObject(self, &MJRefreshTrailerKey,
                                  mj_trailer, OBJC_ASSOCIATION_RETAIN);