Должен ли я объявить переменные в интерфейсе или использовать свойство в arc-target?

подход 1:

<,code>@interface MyController : UIViewController {
    UILabel *myText;
}

@property (nonatomic, strong) UILabel *myText;

подход 2:

@interface MyController : UIViewController
@property (nonatomic, strong) UILabel *myText;

подход 3:

@interface MyController : UIViewController {
    UILabel *myText;
}

Я прочитал несколько статей, рассказывающих о подобных вещах, но до сих пор не понимаю, какой подход я должен принять.

Я также обнаружил, что кто-то сказал, что подход 1 - это старый способ, поэтому я хотел бы узнать лучшие практики для ios sdk 6 с использованием ARC.

Я знаю, что объявление переменных с использованием свойства - это простой способ создания методов получения и установки, и кто-то предложил использовать его. Тем не менее, я хотел бы спросить, если переменная не предназначена для вызова другим классом, это необходимо для переменной, использующей свойство? и установить его как частную переменную внутри интерфейса? Или лучше, если переменная только внутри интерфейса? Я хотел бы изучить лучшие практики, поэтому, пожалуйста, прости меня, если это глупый вопрос.

Более того, некоторые разработчики пишут @synthesize таким образом

@synthesize myText=_myText;

но некоторые пишут это:

@synthesize myText;

Я также хотел бы знать разницу и какой предпочтительнее?

Большое спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос