@dynamicはアクセサ作成をするわけではないので厳密に言うとタイトルは違うけど. @synthesizeと@dynamicの違いは基本的なポイントだけど,きちんと理解して使い分けないと思わぬところでハマる. CoreDataを使うためにNSManagedObjectを継承した専用クラスを作ったとき,属性へのアクセサを作るためにヘッダに@property XXX;,*.mに@dynamic XXX;と書く.@dynamicにするのはNSManagedObject側で各属性のセッタ/ゲッタを作ってくれるから. このとき@dynamicではなく@synthesizeとしてしまうとCoreData用のアクセサ(-setValue:forKey:)が使われず,普通のアクセサが作られる. つまりNSManagedObjectを変更しているつもりが変更されず,CoreDataに編集データが保存されな

