iOS開發init方法解析

2022-03-29 21:43:00 字數 469 閱讀 1469

自定義的init方法,都必須呼叫父類的init方法。

一般情況下為:

- (id)init

通常情況下,這種模式可以滿足絕大多數的需求,但是在少量情況下,需要一些特殊處理。

1,出於優化的考慮,init方法會釋放已經分配了記憶體的物件,然後建立另乙個新物件並返回之。

2,init方法在執行過程中發生了錯誤,所以會釋放物件並返回nil。

對於1,蘋果官網的做法是將父類init方法的返回值給self,對於2,蘋果官網的做法是檢測父類返回的物件是否為nil,為nil則不需要繼續進行。

- (id)init

return self;

}init中,可以直接進行賦值,也可以使用訪問方法。

偏好直接賦值的人認為:物件只有執行完init之後,才能完成初始化。

偏好使用訪問方法的人認為:訪問方法除了能為例項變數賦值之外,還能做其他的事情。只要是設定例項變數,都可以使用訪問方法。

IOS開發中重寫init方法使用需謹慎

經過大神指點,原來這個問題產生的原因是我錯誤的使用了重寫init方法。我重寫的方法如下,原本打算是在初始化的時候就給view乙個標題和背景色 1 自定義初始化 2 instancetype init 7return self 8 但問題恰恰出現在這個重寫的初始化方法中,具體分析如下 先在首頁中建立乙...

iOS開發中的Html解析方法

ad wot2015 網際網路運維與開發者大會 熱銷搶票 初次解析html,使用是網上的第三方類 我使用的是以下三個類,將其新增到專案中 import tfhpple.h import tfhppleelement.h import xpathquery.h 新增以上三個類必須新增乙個庫,這個庫是 ...

python建構函式init例項方法解析

一程式設計客棧 建立物件,我們需要定義建構函式 init 方法。構造方法用於執行 實程式設計客棧例物件的初始化工作 即物件建立後,初始化當前物件的屬性,無返回值。init 要點如下 1.名稱固定,必須為 init 2.第乙個引數固定,必須為self。self指的就是剛剛建立好的示例物件。3.建構函式...