[iOS] AppCodeは良いエディタ

2012/06/21

こんにちは。きんくまです。

この1ヶ月ほどiOSアプリと平行して、久しぶりにFlash案件をやっていたのですが、
Objective-Cと比べて、短いコードで同じようなことができる、あの手軽さはやはり良いものですね。
アニメーションを使ったページも、スクリプトとタイムラインを上手に組み合わせられて◎です。

さて、AppCodeです。
>> AppCode

前回記事にしてから、実際にずっと使ってました。
その感想などを書こうと思います。

最初に結論から書くと、良いツールなので買うと思います。
まだ使用期限がきてないから買ってないけど、期限きたら買うつもりです。

AppCodeはXcodeと併用して使うもの

使う前は、AppCodeはXcodeを置き換えるものだと思っていました。
ところが、これが勘違いだとわかりました。
AppCodeはコーディングを助けてくれるエディタです。

Xcode > xib, CoreDataの.xcdatamodeld, Info.plist などを担当
AppCode > .h, .m, .mm などのコーディング全般担当

そんな感じです。もちろんAppCodeだけ立ち上げて作業ということも可能です。

もしAppCodeとXcodeを同時に開いていて、片方でコードを編集してアプリを切り替えた場合は、
もう片方にもすぐに反映されるという感じです。
ただ、Xcodeでファイルを追加したりすると、AppCodeは一度プロジェクトを読み込み直します。
ファイルの中身を編集するだけだとそういうことはほとんどおきません。

では、実際にどんなところがAppCodeの嬉しい機能かといいますと、以下のようになります。

ヘッダファイルの自動インポート、ヘッダファイルの自動整理

コーディング中に、新しいクラスを使おうとしたときに、使うヘッダファイルを実装ファイルの
上の方にいって書き足す作業がどうにも面倒でした。
Eclipseとかは当たり前にできるヘッダファイルの自動インポートが、AppCodeでもできるようになります。
コマンドだけでやってくれるので楽です。

書いているときに自動挿入されますし、インポート忘れの場合、こんな感じに警告がでます。

appcode_fig1

Option + Enterを押すと、警告が消えてヘッダファイルが自動挿入されます。

appcode_fig2

あとは、不要なヘッダファイルはヘッダファイルのところで、ポップアップメニューから
Optimize Importsとすると自動整理されて削除されます。

インスタンス変数のプロパティ化

インスタンス変数のプロパティ化も自動でやってくれます。

@interface SampleObj:NSObject{
    NSArray *_sampleArray; //これをプロパティ化したい
}

Cmd + N からPropertiesを選択して出てくるダイアログでプロパティ化したいインスタンス変数を選択すると、

SampleObj.h

@interface SampleObj:NSObject{
    NSArray *_sampleArray;
}
@property(nonatomic, retain) NSArray *sampleArray; //自動生成

SampleObj.m

@implementation SampleObj
@synthesize sampleArray = _sampleArray; //自動生成
- (void)dealloc
{
    [_sampleArray release];  //自動生成
    [super dealloc];
}
@end

こんな感じに、@synthesizeしつつ、deallocの中にも書いてくれます。これは嬉しいポイント!

プロパティ、メソッド一覧 – Structure

プロパティ、メソッド一覧が常に表示されるStructureパネルがあります。
Xcodeにもあるのですが、プルダウンから選ぶ形式のため毎回プルダウンを押す必要があります。
Structureパネルで目的のメソッド押せば、コードのカーソル位置を自動できりかえたり、
逆にコードのカーソル位置によって、Structureのどこかを表示したりできます。

appcode_fig3

メソッド呼び出しもと一覧

このメソッドを呼び出しているのがどこからなのかを一覧でみることができます。

appcode_fig4

知りたいメソッドにカーソルを置いてから、メニューのNavigate > Call Hierarchyを選択すると、上のパネルがでてきます。
パネル内の呼び出しメソッドを選択すると、コード編集画面が自動できりかわります。
また、その呼び出しメソッド自身もどこから呼ばれているかを再帰的に見ることもできます。

「これを変更したら、どこに影響があるんだっけ?」とか、「呼び出し順序を知りたい」なんてときにかなり便利です。
個人的にはけっこう助けられました。

まとめ

その他にも、メモリリークや文法上のエラーをすぐ指摘してくれたり、コード補完が賢かったりするのも良いポイントです。
個人のディベロッパーは$99です。
趣味でやるにはちと高いけど、仕事でやるにはそんなもんかなとおもってます。

Objective-cはどうしてもコードを書く量が多くなってしまうので、(しかも縦にも横にも)
ソースを読むときに移動に時間がかかり、個人的には気力が消耗しやすい言語だと思ってマス。
(ただその仕様上、コメントなしでも何をしているのかはソースを見るだけでわかりやすい)
こういうツールを使ってそういうメンドクサイ感を減らして、やる気にさせるのは良いかなと思います。


自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る