タグ

プロパティに関するRYO1225のブックマーク (2)

  • @propertyの属性の挙動の違い - nazolabo

    @propertyの属性にcopyとかstrongとかweakとかあるけど、概念的な説明はどこでもあるけど、具体的な説明をしている記事が少ないので調査した。 Xcode4.3.2時点での内容です。 nonatomic 非スレッドセーフにする。マルチスレッドのものを使わない限りはどんどん指定しよう。 ちなみにatomicな場合は内部的にはgetterは以下のような処理になる模様。ロックが入ってしまう。 [_internal lock]; id result = [[value retain] autorelease]; [_internal unlock]; return result; getter/setter getterとsetterのメソッド名はデフォルトで、getterは変数名と同じ、setterはset[Capitalize変数名]だが、それを任意のものに設定することができる。

    @propertyの属性の挙動の違い - nazolabo
  • Objective-C のプロパティ属性のガイドライン - Qiita

    Objective-C のプロパティの属性を指定するとき従うべきガイドラインをまとめた。 できる限り nonatomic を指定する atomic にしてもパフォーマンスが悪化するだけでほとんどメリットがない(参考:StackOverflow - Atomic vs nonatomic properties)。 nonatomic と atomic の使い分けの指針は次のとおり: 参照型: メモリアドレスのみの書き込みなので、常にnonatomicでよい プリミティブ型: int, BOOL等ワンステップでの書き込みが可能: 常にnonatomicでよい 単一のスレッドからしかアクセスされない: 設計に気をつけつつnonatomic推奨 複数のスレッドからのアクセスがあり、long,構造体などサイズの大きい値: atomic推奨 (thx to @takasek) 複数のスレッドから同時に

    Objective-C のプロパティ属性のガイドライン - Qiita
  • 1