ラベル 開発ツール の投稿を表示しています。 すべての投稿を表示
ラベル 開発ツール の投稿を表示しています。 すべての投稿を表示

@synthesize default と Class Extensions Variables

2010年12月4日土曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

LLVM と Clang を使うと次のことができるらしい。

・@synthesize の省略
・Class Extensions でインスタンス変数定義

元ネタはここから。
M Cubed Software - Blog


設定方法はターゲットのビルド設定を開き2つの設定を行う。

1つはコンパイラの指定。
LLVM compiler を選択する。

次はコンパイラオプションの指定。
 -Xclang -fobjc-nonfragile-abi2 を指定する。


すると下記のコードがコンパイルできるようになる。

SampleModel.h
@interface SampleModel : NSObject {

}

@end
SampleModel.m
#import "SampleModel.h"

@interface SampleModel()
{
 NSString* name;
}
@property (nonatomic, copy) NSString* name;
@end

@implementation SampleModel

-(NSString*)description
{
 return self.name;
}

@end

@synthsize を書かなくてもプロパティが使える。また Class Extensions(カテゴリ)でもインスタンス変数の定義が可能。これらは GCC でコンパイルするとエラーになる。

- - - -
LLVM を使うか GCC(デフォルト)を使うかはまだ意見が割れている感じ。LLVMの方がエラーメッセージが分かりやすい、コンパイル速度が速い、一方、GCCの方がトータルの速度が速い、安定している、といった意見(噂?)もあるようだ。



参考情報


Low Level Virtual Machine - Wikipedia

clang - Wikipedia

Nick Farina - Simplify your models with SMModelObject

この特性を生かしたモデルクラス SMModelObject の活用例。上記サイトから引用。

こんな感じで定義が書ける。dealloc もいらない(!)。
-description がオーラバーライドされていてXML風な表示

Tower - Git管理GUIツール

2010年12月3日金曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

Towerベータ版を使い始めたが結構いい感じ。



画面は3ペインで、左にブランチ、右上にファイルリスト、右下に修正内容が表示される。
ブランチ、タグ、リモートリポジトリ、Stash を一覧して見ることができる。

これはCommit履歴を表示させたところ。



これ一つで Staging、Commit、Push までひと通りの操作が行える。

Xcodeを開いてファイルを修正していると、その修正を自動的に検出してリストアップしてくれる。

通常は作業の区切りでこれら確認して (add →) stage → commit していく。

Dockアイコンには未commitの修正ファイル数が表示される。

commit するとこれがクリアされる。これが作業終了の区切りとなってちょっと気分がいい。

部分的(chunk)に Stageすることもできるようだ。

ファイル操作のメニュー


Commit のメタ情報を条件に検索することもできる。
こんな感じ。

様々な Diff /Merge ツールに対応していて選ぶことができる。



複数のリポジトリが扱えるがウィンドウは1つしか開かない。1つのウィンドウを切り替えて使うスタイルになる。
これは将来複数ウィンドウ化を期待したい。



- - - - -
ファイル更新の自動検出のアイディアは秀逸。このおかげで特に工夫することなくXcodeと連携して使うことができる。これがかなりいい。現時点ではベータ版で無料だが Registration... というメニューがあることから正式版は有料になる可能性がある。よく出来ているので正式版が出たら購入するかもしれない。

なお現時点で Commit Message に日本語が入力できなかった。

tig - コマンドライン git ビューア

2010年12月1日水曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

tigはコマンドラインベースの git ツール。見た目が結構カラフル。

公式サイト Index of /tig


インストール


環境:Mac OS X 10.6.4

下記より最新版のソースコードをダウンロードできる。
Index of /tig/releases

今回は tig-0.16.2.tar.gz をダウンロードした。

~/src/ へ落とした後、解凍、ビルドする。
$ cd ~/src
$ tar xvfz tig-0.16.2.tar.gz
  :
$ cd tig-0.16.2
$ ./configure
$ make
$ sudo make install

ビルドされた tig コマンドは /usr/local/bin にインストールされている。


使い方


詳しいマニュアルが用意されている。
The tig Manual

移動などの操作は vi ライクのキーバインドとなっている。k で上へ、j で下へ、といった感じ。vi同様 / による検索もできる。

ビューの切り替えが使う上でのポイント。
[-] generic bindings                                                            
View switching                                                                  
    'm'                       view-main            Show main view               
    'd'                       view-diff            Show diff view               
    'l'                       view-log             Show log view                
    't'                       view-tree            Show tree view               
    'f'                       view-blob            Show blob view               
    'B'                       view-blame           Show blame view              
    'H'                       view-branch          Show branch view             
    'h'                       view-help            Show help page               
    'p'                       view-pager           Show pager view              
    'S'                       view-status          Show status view             
    'c'                       view-stage           Show stage view  

操作体系は独特だが慣れると軽快でなかなか良い。

人気の投稿(過去 30日間)