IOS中self.xx 和 _xx 的区别

如果引用的话不会有区别,是同一个指针;

如果赋值是有区别的 self.xx = oo  首先把xx.retaincount -1,然后retain oo  _xx复制直接指向oo 不存在retain这一

步步。其实,前者调用该类的setter或getter方法,后者直接获取自己的实例变量。property 和 instance variable 是有区

别的。

前者声明后,如果没有readonly修饰的话,该类获得两个方法,一个是setter和getter。property声明后,该类会获

得一个同名但前面多了一个下划线的实例变量。setter和getter是访问这个实例变量的方法。

在类的m文件里可以直接用实例变量名来访问自身的实例变量,但是setter和getter方法不会被调用。外部想用该类的实

例变量需要用getter和setter方法。 

你可能感兴趣的:(ios,指针)