[已解决]Object-C中有个加了前缀下划线的变量找不到定义

[背景]
拿到一个oc的项目,去参考代码时,发现有个变量:
oc code underline prefix var
找不到定义的地方。
并且用command+鼠标点击,结果调转到:
去掉下划线前缀的变量的定义:
click jump to no prefix var
现在是需要:
搞定这个变量到底是什么含义,如何来的
然后才能把oc代码去转换到swift代码。
[解决过程]
1.搜:
object-c variable prefix _ underscore
参考:
变量加上前缀下划线:
本身并没有什么意义:
只是为了区分,本地局部变量和synthesize类型的(类的成员,域)属性
基本搞清楚了synthesize和ivar,property等方面的含义后,接着,就明白了:
之前找不到的变量:
_selectedIndex
实际上是系统根据:
MHTabBarController.h
@property(nonatomic,assign)NSUIntegerselectedIndex;
之后,内部自动帮你生成了
NSUInteger _selectedIndex
所以后面
MHTabBarController.m
中才能直接使用_selectedIndex了。
然后对应的:
类似于
@property xxx
然后:
NSUInteger lastIndex = _selectedIndex;
 _selectedIndex=NSNotFound;
self.selectedIndex= lastIndex;
这种OC的代码,如果改为swift,则可,暂时写成:
   varselectedIndex:UInt=0
    private var _selectedIndex:UInt = 0

    funcreloadTabButtons() {
        var lastIndex:UInt = _selectedIndex
       _selectedIndex=UInt(Foundation.NSNotFound)
        self.selectedIndex = lastIndex;
    }
凑合用吧。
如果有问题,再说。


发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量