簡體   English   中英

[self init]和self = [super init]之間的差異

[英]Difference between [ self init ] and self = [ super init ]

我不知道如果不重寫“ init”方法,init家庭方法中的[ self init ]self = [ super init ]什么區別。

為什么人們通常在init family方法中使用self = [ super init ]

[ self init ]表示您正在初始化self類。

self = [ super init ]表示初始化超類,並且將返回的地址/內存位置設置為self類。

人們對所有父類(直到NSObject都使用self = [ super init ] ,所以這樣做非常重要

通常人們使用if (self = [ super init ]) {... return self;}以防萬一,如果self == nil ,但我從來沒有這樣的事情

[self init]是不正確的,因為您只是忽略了父類的初始化,這可能是導致錯誤的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM