發現最近本身特別悲劇,多是由於地基沒打好,直接學習的怎麼建房子,但是地基已經修訂了,因此房子都是按照地基去建的承重牆啊,一些簡單的隔斷牆,也是地上訊息。反而是一些基礎中的基礎,老是被擡到臺案上來。
今天算是忍不住了,好比寫一個屬性:
@property (nonatomic, assign) NSInteger selectedIndex;
set方法:
- (void)setSelectedIndex:(NSInteger)selectedIndex {
_selectedIndex = selextedIndex;
}
前面那個_selectedIndex還真不能保準的說一下是啥意思,這種問題,不會有面試官問我,可是我會本身問本身,由於本身哪裏不行,本身內心明白,無聊的時候,仍是很想搞清楚明白的。
查了一下,沒有相關資料,多是由於搜索詞條不許確,可是也找到了些信息,對我有幫助。_selectedIndex是系統給咱們自動生成的,只要寫了@property形式的屬性,這個_selectedIndex變量就會自動生成,那麼賦值給他的那個值,selectedIndex咱們知道,都是在給這個屬性賦值的外來值,好比self.selectedIndex = 5;
這裏要說一下,self.selectedIndex就是調用了selectedIndex的set方法,你調用了set方法,自己就想賦值,那麼你想賦值的這個值就是5;
那麼此時你能夠不給系統的那個_selectedIndex賦值,可是你在出了set方法之外的地方使用selectedIndex屬性,這個值就沒有值。我去試一下。挺開心的,由於事實說明,確實是這樣,若是你不給賦過來的值selectedIndex再傳給系統爲咱們自動建立的_selectedIndex,那麼別的地方使用,將不會有值。不管使用self.selectedIndex仍是使用_selectedIndex,都沒有值,固然了,Bool類型初始值1或YES,NSInteger類型初始值0,可是這個值不是你賦給過來的。
今後點意義來說,_selectedIndex的意思就是系統給咱們自動建立了一個全局的變量,方便在set方法之外去使用,若是你不給他賦值,別處使用將沒有值。
其實,說實話,不管是從開發時間,仍是說當前年份,我出這樣的文章,真是丟人啊!算了,我就把丟人的文章發出去。