在乙個遙控器類操控小車玩具的小例項專案中,我採用組合的方式,將遙控器擁有小汽車物件(has a)關係,而不是繼承(is a)關係。
想法:將建立小汽車的例項化過程寫在遙控器的初始化方法中
controller.m :
1 -(instancetype)initwith28return
self;
9 }
注意:這裡的init方法,我不小心寫成了initwith方法。本來意圖是自定義初始化方法傳入引數......忘記改回init。
然後建立controller物件的時候,使用[[controller alloc] init]。結果呼叫的是父類(controller extends nsobject)的init方法,所以斷點查錯查不到,到了某個方法就自動跳出結束了。
正確只要把那個寫錯的 initwith 改回成 init 方法就可以了。
OC小例項關於init 方法不小心的錯誤
oc小例項關於init 方法不小心的錯誤 在乙個遙控器類操控小車玩具的小例項專案中,我採用組合的方式,將遙控器擁有小汽車物件 has a 關係,而不是繼承 is a 關係。想法 將建立小汽車的例項化過程寫在遙控器的初始化方法中 controller.m 1 instancetype initwith...
OC中單例禁用init方法
一種是在init方法裡丟擲異常 instancetype init然後構建乙個私有的init方法,在裡面呼叫 super init 然後單例實現中就呼叫私有的init方法 還有一種是直接在init中返回單例 instancetype init同樣的,也是需要構建乙個私有的init方法,再在單例中呼叫...
OC 學習 類方法 例項方法
方法是類的行為,寫在介面和實現兩個檔案中。在介面部分宣告方法,在實現部分實現方法。1 類方法與例項方法 objective c中的類可以宣告兩種型別的方法 例項方法和類方法。例項方法就是乙個方法,它在類的乙個具體例項的範圍內執行。也就是說,在你呼叫乙個例項方法前,你必須首先建立類的乙個例項。而類方法...