• 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方法以外去使用,如果你不给他赋值,别处使用将没有值。
     
         其实,说实话,无论是从开发时间,还是说当前年份,我出这样的文章,真是丢人啊!算了,我就把丢人的文章发出去。
  • 相关阅读:
    [POI2013]BAJ-ytecomputer [动态规划]
    【2019.10.15】网课 Za
    【初赛】
    [NOI2014]魔法森林[最短路 spfa]
    【洛谷2019金秋营模拟赛1】
    【luogu1315】 观光公交[贪心]
    【luogu4450】收集邮票 [期望dp]
    [HAOI2012]高速公路 [线段树 期望]
    ALGO-185 Trash Removal
    精度计算——减法
  • 原文地址:https://www.cnblogs.com/guoqiangx-5/p/5886057.html
Copyright © 2020-2023  润新知