23
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Objective-cでのプロパティ属性

Last updated at Posted at 2014-05-19

atomic, nonatomic

  • atomic
    • 複数スレッドから同時に書き込みがあった場合でも、値が壊れないことが保証されている。
  • nonatomic
    • 複数スレッドから同時に書き込みがあった場合、値は保証されない。一方でパフォーマンスが良い。

weak, strong, assign

  • weak
    • propertyの参照元が所有宣言をせず、retainカウントが加算されない。
    • IBOutletなどで宣言するパーツ等は、基本的に親のViewが存在するためweakを指定します。
  • strong
    • propertyの参照元が所有宣言をし、propertyのretainカウントがプラスされる。
  • assign
    • プリミティブ(BOOLやintなど)な値の場合に指定する。この場合propertyには値の単純代入になるため、参照の強さを考慮する必要がない。

readonly, readwrite

  • readonly
    • propertyが宣言されたClass以外からの値の書き換えができない。getterのみ生成される。
  • readwrite
    • 値の書き換えがどこでもできる。getter, setterがともに生成される。
23
23
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?