タグ

ブックマーク / h-mori-2.hatenadiary.org (2)

  • NSStringのpropertyはcopy属性にするべき - 中継地点

    NSStringを引数にもつセッタのproperty定義で retainとcopyで議論がありますが、Google Objective-Cスタイルガイドでは copyを推奨しているようです。 セッタではNSStringをコピーする(Google Objectieve-Cスタイルガイド 日語訳) @interface Foo : NSObject { @private NSString *foo_; } @property (nonatomic, copy) NSString *foo; @end @ implementation Foo @synthesize foo = foo_; @end引数に対して可変なNSMutableStringを受ける可能性があり、知らないうちに参照元の値が変わることを防ぐ目的で、安全を期してcopyにするという理由のようです。 前提の背景として特殊的にNS

    NSStringのpropertyはcopy属性にするべき - 中継地点
    y_koh
    y_koh 2012/06/25
    そうか、NSMutableStringを受け取る可能性があるのか。
  • iOSコーディングスタイルを変えてしまうBlocksKitの紹介 - 中継地点

    iOS4からBlockが導入されました。利用目的としてはDelegateパターンと大差ないと思っていますが、処理記述が呼び出し元で記述できることで可読性が高くなります。 また、コールバック時に利用されるperformedSelectorが非常に使いづらく複数の引数となった場合などを考慮してNSDictionaryで定義したりInvocationを使う必要がったりと面倒な点が多々ありました。 今回は、CoreFoundationにカテゴリで組み込まれたBlockを活用したBlocksKitフレームワークを紹介したいと思います。かなり便利なため、今後のコーディングスタイルを変えてしまうほどのインパクトがあると個人的には思っています。 BlocksKit https://github.com/zwaldowski/BlocksKit BlocksKitはBSD, MITライセンスの元で利用可能で

    iOSコーディングスタイルを変えてしまうBlocksKitの紹介 - 中継地点
    y_koh
    y_koh 2012/03/07
  • 1