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日間)
-
NSManagedObjectContextに対して rollback を送ると、対象となる NSManagedObject の awakeFromSnapshotEvents: が呼び出される。 NSManagedObject Class Reference - awake...
-
iOS4 から導入された画像ファイルの命名規約では '@' を使う。 [参考] Cocoaの日々: iOS4からデバイス毎・解像度毎に用意した画像を自動選択する仕組みが導入された この @ を名前に含むファイルを Subversion で扱う場合、普通にや...
-
Core Data を使ったアプリケーションで下のような検索機能を実装している。 設定された値を元に NSPredicate を作成し、Core Data に対して検索をかけるのだが、こういう場合に NSCompoundPredicate が役に立つ。 NSCompound...
-
Todayee シリーズ第4弾「Todayee Extension」をリリースしました。無料です。 iOSのシェア機能を利用してEvernoteへ投稿を行うアプリです。他のアプリで↑ボタンを押すと Todayeeアイコンが出てきます。 これをタップす...
-
MobileCoreServices.framework に 拡張子とMIME Type の相互変換用の関数が用意されている。 UTType Reference 変換方法 変換はどちらの場合も一旦 UTIへの変換を経由する。 MIME Type (例:image/pn...
Responses
Leave a Response