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日間)
-
Mac OS X 10.7 から XPC Services という仕組みが導入された。 リファレンスによれば XPC Services は単一のアプリケーション専用に利用できる軽量なヘルパーツール(lightweight helper tools)と定義されている。アプリのバ...
-
UITableViewDelegate にはセクションヘッダと降ったの高さを変えるためのメソッドが用意されている。 UITableViewDelegate Protocol Reference – tableView:heightForHeaderInSection: – ...
-
Xcode 4.1 で iOS 4.3 向けに開発していたアプリを Xcode 4.2 で iOS 5 の実機用にビルドしたら下記のエラーが出た。 ライブラリがみつからないとのこと。該当ファイルが赤い表示(ファイル不在)になっている。 iOS 5 になってライブラリのバージ...
-
[前回] Cocoaの日々: UIAlertView 上に UIProgressView を載せる 前回のコメントで 335gさんから UIAlertView のサイズ変更とボタン位置の変更ができることを教えてもらったので試してみた。 サンプル 前回のコードでキャンセ...
-
パスワードを暗号化して安全に iPhone/iPad へ保管したい。iOS はこの用途の為に Keychain Services を提供している。今回は Keychain Services について調べてみた。リファレンスの内容に加え、独自に調査・検証した結果をまとめてある。動作...
Responses
Leave a Response