需要有关Objective-c属性概念的帮助

我正在阅读Apple Doc以了解属性实例变量但有点困惑

来自Apple Doc:

大多数属性由实例变量支持默认情况下,readwrite属性将由实例变量支持,该变量将再次由编译器自动合成。

实例变量是一个存在的变量,它保存了对象生命周期的值。 用于实例变量的内存在首次创建对象时(通过alloc)分配,并在释放对象时释放。

除非另行指定,否则合成的实例变量与属性具有相同的名称,但带有下划线前缀。 例如,对于名为firstName的属性,合成的实例变量将被称为_firstName。

虽然对象使用访问器方法或点语法访问自己的属性是最佳做法,但可以直接从类实现中的任何实例方法访问实例变量。 下划线前缀清楚地表明您正在访问实例变量而不是例如本地变量:

如果使用访问器方法或点语法是最佳实践那么为什么用户_ivarPropertyName?

为什么要使用ivar来呈现属性? 它的好处是什么? 当苹果说“使用存取方法或点语法是最佳实践”时