2014年5月20日火曜日

文字列定数はどこに定義すべきか?

最初の頃はかなり悩んだんですけど。文字列定数を定義する場所。
オレオレ開発方式で見出した方法は以下の通り。

① 画面の表示文言・メッセージ文言などUI系
  → Localizable.strings に定義。
    ローカライズすることを前提に最初っからここに作成する。
    これはもう一択かな。

② ハッシュのキーなどにする定数など
  → クラス内で使うならクラスの先頭に適当。
    最初は抵抗あったけど、#defineで。
    constつかう場合と本当はどっちがいいか検討したい。
    でもAppleの組み込みクラスでも#defineガンガン使ってるからいいんでねえかな。

③ 自作Utilクラスなど、インポートさせた先で参照したい定数など
  → 「extern NSString* const」を使用。
    インポートされた場合、インポートした先から参照可能になる。
    ヘッダと本体でそれぞれ定義いるから面倒だけど。

//hoge.h

extern NSString* const ext_str;


//hoge.m

NSString* const ext_str = @"hoge";



こんなところだろうか。

0 件のコメント:

コメントを投稿