我想知道这样做是否是最佳实践。我听说有人发来的,但我不太确定。即使我仅使用该属性。

.m

  @interface AllViewController (){
   NSArray *tableArray;
    }
   @property (nonatomic, retain)  NSArray *tableArray;
   @end;

最佳答案

没有。

  • 不需要。您不会从中受益。
  • 您应该避免在@interface {}中使用ivars。 private ivars应该使用@implementation {},并且您应避免使用受保护的ivars,绝对不要使用 public ivars。

  • 同样在您的示例中,您可能具有两个ivar,tableArray_tableArray,它们由auto @synthesize生成。有人可能会惊讶tableArrayself.tableArray的值不同。

    10-05 20:26