其实你简单的理解就可以,property是为了提供给外部访问的,省去了get与set方法。如果你声明了property,而没有在interface声明变量,那么自动生成一个和property一样的变量名,默认的。在4.0之后可以乎约声明。个人觉得@public和@protected并没有很明确的区别,在他们作用范围内的对象,如果不将对象设置成@property,则该对象相当于 protected对象,只有子类和本身可以访问该对象;如果将对象设置成@property,则可以使使用者访问该对象。@private,顾名思义, 这里声明的就是私有对象。Objective-C中的private方法是通过category实现的,在实现文件中我们声明一个类的category,在这里面的方法就是private方法。类的对象是不可以进行调用的,同样由于该方法的声名是在类的实现文件中,所以子类也是不能重写该方法的。跟你的理解是一样的。 查看原帖>>