1.記憶體管理
用記憶體引用計數來進行管理;
alloc, retain, copy會使記憶體引用計數立即+1;
當物件使用結束後要對它進行釋放 ,release(立即-1) ,autorelease(未來-1);
autorelease的物件會把這個物件放置到離它最近的自動釋放池裡,自動釋放池釋放的時候才會把自動釋放池中的所有物件的記憶體引用計數-1;
當物件被新增到容器裡時,記憶體引用計數+1;
從容器裡移除時,記憶體引用計數-1.
2.檢視控制器的執行順序
1.alloc 建立物件,分配記憶體;
2.init 初始化;
3.loadview 建立檢視(如果沒有使用xib,storyboard可以重寫);
4.viewdidload 與loadview配套使用
9.dealloc 檢視被銷毀,釋放建立的物件
3.類的擴充套件
繼承類目 延展協議
1.類目 category
命名 : @inte***ce 要擴充套件的類名 (類目名) ~~ @end
特點: 1.不可定義成員變數,而且一般不定義屬性
2.可以新增方法,可重寫原始類的方法,原始類的物件呼叫
2.延展 extension
命名 : 寫在.m檔案裡 @inte***ce 類名 () ~~ @end
特點: 1.新增類的私有屬性和方法;
3.協議 protocol
命名 : @protocol 協議名
~~ @end
@required 不寫是預設的,必須實現 @optional 可實現可不實現
特點 : 1.只宣告,不實現
2.為了解決多繼承問題
3.@property (nonatomic, assign) id《協議名》 delegate;
assign 為了防止迴圈擁的釋放問題
4.tableview**的執行順序
1.uitableviewdatasource numberofsectionsintableview 確定有幾個分割槽
2.uitableviewdatasource numberofrowsinsection 每個分割槽有幾行
3.uitableviewdatasource cellforrowatindexpath 確定每行的cell
4.uitableviewdelegate didselectrowatindexpath 轉中改行,進入下一介面
5.單例
單例乙個類只有乙個例項,自行例項化並向整個系統提供這個例項,乙個單例類可以實現在不同的視窗之間傳遞資料。
1. 記憶體為1且只初始化一次
2. 永遠不釋放
3. 任何地方都可以使用
4. 多個介面的公共傳值
6.資料儲存記憶體
簡單資料 : nsstring, nsdictionary, nsarray, nsdata
nsarray *array = nssearchpathfordirectoriesindomains(nslibrarydirectory, nsuserdomainmask, yes);
nsstring *library = [array firstobject];
library = [nsstring stringwithformat:@"%@/number", library];
nsstring *string = @"123456789";
[string writetofile:library atomically:yes encoding:nsutf8stringencoding error:nil];
複雜資料 : 系統提供之外的型別(也就是model類)
複雜資料儲存原理 : 將model型別的物件歸檔(序列化) 為nsdata型別的物件,然後將nsdata型別物件進行儲存
硬碟 nsfilemanager 管理硬碟上的東西
沙盒機制 ,是ios的安全機制
1. bundle資料夾
裡面有 ---> (1)** * (2)資源資料夾 * (3)配置檔案
特性 : (1) 內容在程式執行期間為唯讀,不能夠進行任何的修改
(2) 只有在開發期間進行修改
2. documents資料夾
特性 : (1)大小限制(資料夾裡的內容會自動上傳到icloud裡)
(2)一般放資料庫
(3)整個應用程式,從開始到刪除一直存在的東西
3. library資料夾
裡面有 ---> (1)caches[快取] * (2)preference[配置]
(1)caches 特性: 1. 放快取
2. 網路資料儲存(快取)
(2)preference 特性: nsuserdefaults存到preference裡
4. tmp資料夾 臨時性資料夾---> 資料只用一次,即用完就刪
例如 : 把壓縮包解壓, 解壓完的東西放在tmp裡
基礎知識點
1 inline block布局 2 table布局 3 justify的末行不對齊 4 兩個圖示之間有空格 換行 5 背景中的的 路徑的 全部斜槓都為 不是 命令列下的這種 doctype html html head meta charset utf 8 title xx title head ...
erlang基礎知識點
1 變數是不可改變的,必須以首字母大寫開頭 2 字串就是小寫字母,或者單引號引起來的字串 3 賦值可以使用匹配模式 4 資料結構有元組,取值用匹配模式來取值 就能取到x,b的值 5 資料結列表 ss,aa,取值是用 head foot 的形式取值 頭和尾的形式匹配 6 字串只能用雙引號表示 7 函式...
JS基礎知識點
1.js基本資料型別 number 數字型別 string 字串 boolean 布林型別 ture false 非0即為真 null 空值 有值,值為空 undefined 未定義的 沒有值 object 物件型別 array 陣列 js語言特點 1.解釋性執行,指令碼語言 2.物件導向 一切事物...