iOS基礎 可變和不可變容器

2021-06-28 07:11:36 字數 498 閱讀 9669

一般後台給介面,用的是陣列和字典,正常來說都不是可變的,當你在接受資料的時候

很多人會想著強制轉換

比如:nsmutabledictionary

* data = (

nsmutabledictionary

*)[self

.model

.item

objectforkey

:@"data"

] 這不能從根本源頭上解決你的崩潰問題,這樣處理還會引發之後的一系列錯誤

比如表示圖賦值的崩潰,頁面傳值的崩潰。

解決方案:

nsmutabledictionary

* data = [[

self

.model

.item

objectforkey

:@"data"

]mutablecopy

]; 需要在不可變的資料來源之後接乙個mutablecopy。簡單明瞭,解決很多莫名的崩潰問題。

可變和不可變

可變和不可變 不可變 物件所指向的記憶體中的值是不可以改變 不可變型別 int ser float 元組tuple num 10s1 abc print id s1 s1 abcd print id s1 t1 2 5,6 print id t1 t1 2 5 print id t1 可變的 物件所...

可變物件和不可變物件

要理解可變物件和不可變物件,先要理解final關鍵字。參考此部落格 沒有經過原博主的同意便引用了一些,侵刪!final關鍵字可以用來修飾類 方法和變數 成員或區域性 final修飾類時表明這個類不能被繼承。final類中的方法會被隱式的定義為fianl,變數自行定義需要不要被final修飾。fina...

18 可變和不可變集合

對可變集合中資料的增刪改之後會返回乙個新的集合 def main args array string unit object scala02array println s array 1 for s array array.foreach s println s s foreach表示對array中...