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日間)
-
ALAassetsLibraryから取得した写真を月ごとにグルーピングしたり、JPEGだけあるいはスクリーンショットだけを抜き出すといった処理が行えるライブラリを作りました。このライブラリではモデルクラスのみを提供しています(ビューはありません)。 lakesoft/LKAs...
-
[前回] Cocoaの日々: [iOS] GameKit - Bluetoothを使った iOSデバイス間の通信 [2]画像の送受信 Bluetooth に代えてWiFiを使ったピア接続をやってみる。 GKPeerPickerConnectionTypeOnline W...
-
元ネタはここ What’s in Your iOS Image Cache? 気になったので調べてみた。 調査 条件は Fast App Switch(だったけ?)に対応していること。具体的にはInfo.plist に UIApplicationExitsOnSusp...
-
トラックパッドで2本指のドラッグを扱ってみた。 サンプル サンプルを起動するとウィンドウが1つ立ち上がる。 この中に表示されている画像を2本指でドラッグすると画像がそれに追随して移動する。 実装 画像を表示し、トラックパッドのイベントを処理するカスタムビューを用...
-
(2011-10-18追記)その後の調査で、下記のことがわかった。 Xcode 4.1 でビルドしたアプリを iOS5 で動作させても現象はでない Xcode 4.2 でビルドしたアプリを iOS5 で動作させると現象が出る iOS 5.0 から UIViewCo...










Responses
Leave a Response