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日間)
-
iPhone3と4で影のつき方が変わった。 ※どちらもシミュレータでの確認 コード CGContextSetShadow(context, CGSizeMake(3.0, -3.0), 2.0); iPhone3の場合 iPhone4の場合 座標系が変わっている?
-
UIAppearanceプロトコル iOS5 から UIAppearance プロトコルが導入された。このプロトコルを使うと UINavigationBar や UISwitch のインスタンスの色を変更することができる。変更の仕方はこんな感じ。 [[UISwitch app...
-
CAGradientLayer を使った描画がしたくて調べている。試しにボタンを作ってみた。 仕組み UIControl をベースのクラスに使い、その上にレイヤーを重ねて作ってある。 基本の色は UIControl.backgroundColor で決...
-
問題 この前リリースしたカスタム UIAlertView は表示メソッドを呼び出した後はそのまま処理が続行される。 Cocoaの日々: [iOS] ユーザ名/パスワードの入力ができるカスタム UIAlertView ライブラリを公開 例えば下記のような場合。 - (IB...
-
問題 UIDocumentInteractionController で他のアプリにファイルを渡すことができる。こんな感じ。 self.documentInteractionController = [UIDocumentInteractionController ...
Responses
Leave a Response