当前位置: 代码迷 >> 移动开发 >> 施用属性和直接使用变量
  详细解决方案

施用属性和直接使用变量

热度:2522   发布时间:2013-02-26 00:00:00.0
使用属性和直接使用变量

   假设[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil]为对象A


   MyViewController *myVC=[[MyViewController alloc]init];

    //@autoreleasepool
    //{

    myVC.myArray=[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil];

// A retaincount +1 变为 2

    //}
    //_array=myVC.myArray;
    self.array=myVC.myArray; // A retaincount +1 变为 2

    NSLog(@"retain count -> %d", [myVC.myArray retainCount]);

2013-02-15 10:36:43.749 MyTest[2039:c07] retain count -> 3



   MyViewController *myVC=[[MyViewController alloc]init];

    @autoreleasepool
    {
    myVC.myArray=[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil];

// A retaincount +1 变为 2

    }// A retaincount -1 变为 1
    //_array=myVC.myArray;
    self.array=myVC.myArray;// A retaincount +1 变为 2

    NSLog(@"retain count -> %d", [myVC.myArray retainCount]);

2013-02-15 10:36:43.749 MyTest[2039:c07] retain count -> 2


   MyViewController *myVC=[[MyViewController alloc]init];

    @autoreleasepool
    {
    myVC.myArray=[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil];

// A retaincount +1 变为 2

    }// A retaincount -1 变为 1
    _array=myVC.myArray; // A retaincount 为 1
    //self.array=myVC.myArray;

    NSLog(@"retain count -> %d", [myVC.myArray retainCount]);

2013-02-15 10:36:43.749 MyTest[2039:c07] retain count -> 1



  相关解决方案