zoukankan      html  css  js  c++  java
  • [OC Foundation框架

    A.集合的手动内存管理
    NSArray
    addObject: 加入的元素执行一次retain
    removeObject: 被删除的元素执行一次release
    removeAllObjects: 所有元素执行一次release
     
     
    B.ARC机制集合内存分析
    当一个对象被放入集合中时,会保存它的强指针
    当一个对象被从集合中删除的时候,会删除它在集合中的强指针
    当集合的指针被置为nil,其中的全部元素指针也会被置为nil
     
    Q:当使用不同的方法初始化集合的时候,出现了不同的回收顺序
     1     @autoreleasepool {
     2        
     3         Person *p = [[Personalloc] init];
     4         NSMutableArray *array = [NSMutableArrayarray]; // end -> Person 被销毁 -> return
     5 //        NSMutableArray *array = [NSMutableArray arrayWithCapacity:0]; // end -> Person 被销毁 - return
     6 //        NSMutableArray *array = [[NSMutableArray alloc] init]; // Person 被销毁 -> end -> return
     7 
     8         [array addObject:p];
     9         p = nil;
    10         array = nil;
    11         NSLog(@"end");
    12     }
    13    
    14     NSLog(@"return");
     
    类方法array / arrayWithCapacity 相当于调用了 alloc -> init -> autorelease
     
     
  • 相关阅读:
    GITHUB常见命令
    GITHUB常用命令
    java构建简单的HTTP服务器
    是否会被锁
    GITHUB使用指南
    GITHUB使用指南、
    C#
    金蝶后台表对应
    金蝶K3表
    nodejs nodejs的操作
  • 原文地址:https://www.cnblogs.com/hellovoidworld/p/4119459.html
Copyright © 2011-2022 走看看