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日間)
-
[2011-07-08追記] ブロックの原因が判明、下記もどうぞ。 Cocoaの日々: [iOS] SCNetworkReachabilityGetFlags のブロックの件 以前、 Cocoaの日々: ネットワーク接続状況を知る というブログを書いた。 その後わか...
-
GameKit を使い端末間の Bluetooth通信を試してみた。 サンプル テキストメッセージをやりとりできる簡易なサンプルプログラムを組んでみた。 2つの iOS端末でプログラムを立ち上げて両方で "Connect" を押す。すると近くの端末を探...
-
早速修正 プロパティ定義だけでアーカイブできるライブラリ LKCodingObject公開 class_copyPropertyList で取得できるプロパティには親クラスのリストが含まれないことに実際のプロジェクトで使っていたら気がついた。この為、親クラスで定義されてい...
-
+allocWithZone: までもオーバーライドしてとことんシングルトンにこだわった記事。大抵の場合ここまで必要は無いと思うがいつか役にたつかも。 Duck Rowing » Using the Singleton Pattern in Objective-C Part...
-
2010-12-19 [訂正] Objective-Zip ではなく ziparchive の間違いです。 Source Checkout - ziparchive - Project Hosting on Google Code 根本的な間違いで失礼しました。 iPh...











Responses
Leave a Response