內存管理一道數組存儲例題存儲精講! (oc手動管理內存,引用計數器)

  //定義一個bigArr數組,

        NSMutableArray *bigArr = [[NSMutableArray alloc]init]; //引用計數0 - 1

        //此時只是定義了一個smallArr 並沒有開闢空間,所以引用計數不加一

        NSMutableArray *smallArr = nil;

        for (int i = 0 ; i < 13 ; i++ ) {

            if (i % 3 == 0 ) {

                // 0 3 6 9 12

                //此時爲smallArr數組開闢了空間,

                smallArr = [[NSMutableArray alloc]init]; //引用計數 0 - 1

                //此時addobject 內部實現了retain和release 操作,知道就行,不用程序工程師手動計數

                [bigArr addObject:smallArr];

                

                [smallArr release]; //引用計數 1 - 0

//                [smallArr autorelease];

      

            }

            [smallArr addObject:[arr objectAtIndex:i]];

    

//            [smallArr autorelease];

        }

        

        NSLog(@"%@",bigArr);

        //打印過後,任務完成,回收空間

        [bigArr release]; //引用計數 1 - 0

        [arr release];//引用計數 1 - 0

  • 0


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章