Xcode には「Objective-C 2.0 に変換...」という機能がある。これは古いコードを Objective-C 2.0 から導入された Fast Enumerator と Property に変換(追加)してくれるというもの。
例えば次のクラスを定義しておいて Xcodeのメニュー「編集」から「Objective-C 2.0 に変換...」を選ぶ。
ダイアログが開くので「プロパティを使用」にチェックを付けて「プレビュー」を押す。
すると候補が表示される。必要なものだけチェックして「適用」を押すと。
こうなる。*.hファイルに @property が追加され
*.m ファイルにも @synthesize が追加される。
メンバ変数を後で追加した場合に適用した場合、その追加したメンバ変数のみ @property/@synthesize を追加してくれる。
変換対象がない場合はエラー。
適用前にファイルを選択するとどのような変更が加えられるかをプレビューできる。
iOS向け開発の場合、定番の "(nonatomic, retain)" を後から加える必要があったりするのだが、自動生成されるのは役に立つ。
もうひとつの「ループを改新」は NSEnumerator を使っている箇所を Fast Enumeration(for in〜)に変更してくれる。
最近は最初から Fast Enumeration を使うのでこちらの出番は無いだろう。
登録:
コメントの投稿 (Atom)
人気の投稿(過去 30日間)
-
iOS4.0 SDK (Xcode 3.2.3-) でビルドすると自動的に Fast App Switching が効くようになる。ホームボタンを押して終了させて、次回起動した時には終了直前の状態(画面)に復帰することができる。 これはこれで便利なのだが iPhoneシミュレ...
-
それだけ。 Xcode 3.2.3 @interface CoreDataRelations2AppDelegate : NSObject { UIWindow *window; UINavigationController *navigatio...
-
Bezel Bezel とはこんなやつ。 くぼんでいるように見える表現で、大抵は左上から光が当たっているのを仮定して、左と上側に影が落ちているような表現になっている。最終的にはボタンとして機能するようにする。 まずは、これを iPhone で描いてみよう。 iPhone ...
-
データ保護 iOS 4 以降、データ保護機能が提供されるようになった。特徴は次の通り。 データ保護機能を有効にするにはパスコードロックを有効にする必要がある データ保護の適用はファイル単位となる アプリケーションが明示的にファイルにデータ保護属性を付加することで有効にな...
-
アプリのバージョン番号を取得するメモ。 バンドル内に配置される *.plist から取得すればいい。 こんな感じ。 [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleVer...











Responses
Leave a Response