zoukankan      html  css  js  c++  java
  • oc79--数组的内存管理

    //
    //  main.m
    //  集合(数组)对象的内存管理(MRC中)
    //
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    
    int main(int argc, const char * argv[]) {
    
        @autoreleasepool {
            
            // 1. 如果将一个对象添加到一个数组中, 那么数组会对对象进行一个retain
            Person *p = [Person new];
            NSLog(@"reatinCount = %lu", [p retainCount]);
            NSMutableArray *arrM = [[NSMutableArray alloc] init];
            
            [arrM addObject:p];
            NSLog(@"reatinCount = %lu", [p retainCount]);
            
            [p release];
            NSLog(@"reatinCount = %lu", [p retainCount]);
            // 当数组对象释放之后, 会给数组中所有的对象发送一条release消息
            [arrM release];
            
            Person *p = [Person new]; // 1
            NSLog(@"reatinCount = %lu", [p retainCount]);
            NSMutableArray *arrM = [[NSMutableArray alloc] init];
            [arrM addObject:p]; // 2
            NSLog(@"reatinCount = %lu", [p retainCount]);
            
            [p release]; // 1
            // 当数组移除一个对象之后, 会给这个对象发送一条release消息
            [arrM removeObject:p];
        }
        return 0;
    }
  • 相关阅读:
    RFC7296--Internet密钥交换协议版本2(IKEv2)
    IPSec 100问
    strongswan--函数定义宏
    RFC6311--协议支持IKEv2 / IPsec的高可用性
    IPSec之security acl
    华罗庚
    韩罗塔核心算法
    javaBean
    Servlet
    javaee Api
  • 原文地址:https://www.cnblogs.com/yaowen/p/7441860.html
Copyright © 2011-2022 走看看