zoukankan      html  css  js  c++  java
  • 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方法以外去使用,如果你不给他赋值,别处使用将没有值。
     
         其实,说实话,无论是从开发时间,还是说当前年份,我出这样的文章,真是丢人啊!算了,我就把丢人的文章发出去。
  • 相关阅读:
    zabbix 安装(离线源码安装)
    云天励飞摄像头rtsp取流格式
    k8s创建deployment时出现错误ValidationError
    pod 生命周期
    十. Python基础(10)--装饰器
    九. Python基础(9)--命名空间, 作用域
    八. Python基础(8)--函数
    七. Python基础(7)--文件的读写
    六. Python基础(6)--语法
    五. Python基础(5)--语法
  • 原文地址:https://www.cnblogs.com/guoqiangx-5/p/5886057.html
Copyright © 2011-2022 走看看