我們可以透過.h中使用property關鍵字聲明變量,但是他的作用域是什麼? ,也可以在.m中的擴充介面宣告變數。也可以在@implementation中聲明變量,他們的作用域分別是什麼?從使用中看,.h中透過property宣告的變數應該是public,.m中@interface宣告的是protected。是這樣的嗎?求解惑。
1.OC中關鍵看你是否取得到變數的聲明吧,取得到就可用,效果上看,在.h中就是public,在.m中就是private,一般你不會import .m檔中。 .m中的@interface其實就是extension,只是寫在了.m檔案中,會自動提供settergetter的實作。 2、因為有runtime的存在,private沒有意義,我覺得不要用這種思維看待OC吧。
1.OC中關鍵看你是否取得到變數的聲明吧,取得到就可用,效果上看,在.h中就是public,在.m中就是private,一般你不會import .m檔中。 .m中的@interface其實就是extension,只是寫在了.m檔案中,會自動提供settergetter的實作。
2、因為有runtime的存在,private沒有意義,我覺得不要用這種思維看待OC吧。