self.name 和 _name的区别

1、self.name  是访问属性;_name是访问实例变量;

2、在self.name=@"object"的时候,调用了setter方法 retainCount+1;_name=@"object"时,把object赋值给当前对象的name属性 retainCount+0;

属性是实例变量加getter和setter方法的一个整合体,主要承担一个外部访问的一个接口。

实例变量只能在本类中才可以访问,外部不能访问。

使用原则:

在类的内部访问变量的时候用下划线"_"

其他类要访问这个类的变量时用"."

你可能感兴趣的:(self.name 和 _name的区别)