iOS 开发_..和self...的区别以及使用

Posted 孙富有(iOS工程师)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 开发_..和self...的区别以及使用相关的知识,希望对你有一定的参考价值。

相信很多初学者对_和self.之间的区别并没有一个大致的认识,那么下面对两者的区别做一个简单的介绍:


至于重写set和get方法,简要说明一下,当我们使用@property这用法之后,系统便会自动给我们定义的变量以一个默认的set和get方法。插一句,_any和self.any的区别,_any就是只指_any本身,是系统会生成的,而如果我们重写了any的set方法后,self.any会调用我们重写的set方法中的内容,而_any不是,比如这句

-(void)setCount:(NSUInteger)count
{
    _count = count;
}

这里表示的是将系统默认给我们生成的count变成我们自定义的count,达到我们想要的目的。
_any就是单单指当我们使用@property后系统给我自动生成的一个any,而self.any不同,它会自动调用(set和get方法本身就包含在其中,也可以理解为就是它自身的一个属性一部分)我们重写后的set方法,当我们self.any的时候,其中重写的set方法中的任何内容都会被我们使用,所以即使我们只self.any,也可实现许多只要set方法中写出的效果,大致是这个意思


以上是关于iOS 开发_..和self...的区别以及使用的主要内容,如果未能解决你的问题,请参考以下文章

python staticmethod,classmethod方法的使用和区别以及property装饰器的作用

iOS-self.和下划线访问的区别

iOS_截屏并裁剪

iOS开发-多层嵌套block中如何使用__weak和__strong

锚标记目标属性中_self、_top和_parent之间的区别

关于iOS的深copy和浅copy 以及copy 和 strong 的区别