一、NSArray与NSMutableArray的方法区别
 
1、通过下标取得元素,只适用于NSMutableArray
错误现场:
@property (nonatomic, strong) NSArray *departmentIdsArray;

[self.departmentIdsArray enumerateObjectsUsingBlock:^(NSString *departmentIdStr , NSUInteger idx, BOOL * _Nonnull stop) {
    
    if ([departmentIdStr isEqualToString:@"Uzg9"]) {
        self.departmentIdsArray[idx] = @"";
        *stop = YES;
    }
}];

纠错:

@property (nonatomic, strong) NSMutableArray *departmentIdsArray;

 

二、定义数组时可以同时申明改数组中对象的已知类型,比如

- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActions
indexPath
{
}

 

三、将一个数组(strong型)用等号赋给另一个数组(strong型),造成的强引用问题
比如, 
displayDocumentVC.folderAllPathArr = disVC.folderAllPathArr;
[displayDocumentVC.folderAllPathArr addObject:companyFolderCell.DocumentModel.documentName];

明明是在displayDocumentVC.folderAllPathArr上增加一个对象,却因为强引用的作用,disVC.folderAllPathArr也增加了一个对象。并且因为displayDocumentVC.folderAllPathArr强引用disVC.folderAllPathArr,所以disVC.folderAllPathArr无法释放。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2021-08-08
  • 2022-12-23
猜你喜欢
  • 2021-09-11
  • 2021-09-04
  • 2021-11-08
  • 2021-11-28
  • 2022-02-14
  • 2022-01-21
相关资源
相似解决方案