プロパティのnonatomicとretain
プロパティの宣言時によく使うnonatomicとretainについて。
@property (nonatimic, retain) UITextField *nameField;
retainをつけていると@synthesizeしたときに「新しい値へのretain」と「古い値へのrelease」を行うコードが生成される。ということはsynthesizeしない時はretainの必要はないんだろうな。
retainやreleasen必要のない非オブジェクト型に対してはretainの代わりにassignを指定する。
atomicやnonatomicはJavaのsynchronizeみたいなものなのかな。なのでnonatomicではsynchronizeされないと。