Objective-C のプロパティには、属性として atomic や nonatomic というキーワードが指定できるようになっています。 これらを省略した場合は atomic が指定されたのと同じで、この "atomic" という単語を直訳すると "原子性" とか "不可分" とか、そういった意味合いになります。 このキーワードを知った当初には、次のような意味合いがあると認識していたのですけど、どうやらちょっと思っていたのと違うようです。 atomic は、マルチスレッド環境でスレッドセーフを実現する、らしい。 atomic プロパティを @synthesize で実装すると、setter や getter を @synchronized (self) で括ったのと同じになる、らしい。 それならつまり、単一スレッドでの使用を前提としないクラスを作成するときは、プロパティは atomic