プロパティとインスタンス変数について
プロパティとインスタンス変数について、質問があります。
------ サンプル1
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *text1;
@end
@implementation ViewController
-(void)viewDidLoad {
[super viewDidLoad];
self.text1.text = @"test";
}
------ サンプル2
#import "ViewController.h"
@interface ViewController () {
__weak IBOutlet UITextField *text1;
}
@end
@implementation ViewController
-(void)viewDidLoad {
[super viewDidLoad];
text1.text = @"test";
}
上記の2つを実行すると、どちらもTextFieldにtestと表示されます。
サンプル1ですが、_text1.text = @"test"
でも表示されます。
これも意味は理解できます。
ただどういった状況でプロパティに宣言するか、インスタンス変数として宣言するか、使い道が理解出来ません。
だんだん迷ってどうすれば?って感じになってます。
どなたか教えて頂けないでしょうか。よろしくお願いします。
環境ですが、
OS X 10.9.5
Xcode6.1.1
です。