iOS 属性的set方法 _string = string;是什么意思?

     发现最近本身特别悲剧,多是由于地基没打好,直接学习的怎么建房子,但是地基已经修订了,因此房子都是按照地基去建的承重墙啊,一些简单的隔断墙,也是地上讯息。反而是一些基础中的基础,老是被抬到台案上来。
     今天算是忍不住了,好比写一个属性:
@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方法之外去使用,若是你不给他赋值,别处使用将没有值。
 
     其实,说实话,不管是从开发时间,仍是说当前年份,我出这样的文章,真是丢人啊!算了,我就把丢人的文章发出去。
相关文章
相关标签/搜索