藍懿教育記錄

來源:互聯網
上載者:User

標籤:藍懿教育 劉國斌 ios 培訓

幾天又上了一天課 學習了檔案管理的內容,以及留了一個相簿的作業

還複習了記憶體管理的內容:

手動記憶體管理(MRC)中常用的三個方法 

retain:導致記憶體計數+1 

release:導致記憶體計數-1 

copy:複製出來一個新的對象 和之前對象的資料可能一致 但是 不是同一個對象 此對象記憶體計數是1 

autorelease:自動釋放 當變數出了自動釋放池之後會自動釋放 

自動釋放池在項目中有很多看不見的

屬性描述關鍵字:

retain/strong:

//如果是retain 會做兩件事

//-(void)setNames:(NSMutableArray *)names{

//    //第一件事把原來的release -1

//    [_names release];

////    第二件事把新傳遞進來的retain +1

//    _names = [names retain];

//    

//    

//}

1

2

3

4

5

6

7

8

9

10

屬性生命時retain加的1 會在當前對象銷毀時 執行dealloc方法的時候 執行release -1

assign/weak:

//如果是assign或weak set方法中只做了一件事

//-(void)setAge:(int)age{

//    

//    _age = age;

//    

//}

1

2

3

4

5

6

7

copy:

//如果是copy set方法中做一件事

//-(void)setNames:(NSMutableArray *)names{

//    

//    _names = [names copy];

//}

1

2

3

4

5

6

readonly:如果用readonly修飾 會使屬性只產生get方法 沒有set方法

nonatomic:非原子性操作 不安全 效率高 非多線程都用nonatomic 

atomic:原子性操作 安全執行緒 效率低 只有多線程訪問資料的時候才有可能會使用此關鍵字

所有的基礎資料型別 (Elementary Data Type)用assign或weak但是因為是預設的 所以什麼都不用寫

所有的物件類型(除了NSString)都用 strong或retain

NSString需要用copy來修飾,為了避免連鎖反應 改變了某一個字串 導致一系列相關字串發生改變。


藍懿教育記錄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.