ラベル clang の投稿を表示しています。 すべての投稿を表示
ラベル clang の投稿を表示しています。 すべての投稿を表示

2014/05/30

Clang-KeyPathValidatorでKVCのパスをXcodeでチェックできるようにする

ReactiveCocoaを使っているとあまり関係ないですが、KVC/KVOの文字列を間違っていると悲しいですよね。

今回紹介するClang-KeyPathValidatorはKVC系のメソッドのリテラルをコンパイル時にチェックして、警告を出してくれるClangのプラグインです。

Xcodeと組み合わせて動作できるようなので試してみました。

2014/01/12

ソースコードを整形するXcodeプラグインClangFormat-Xcodeを試す

ClangFormat-Xcodeは、今月リリースされたClang 3.4に新たに追加されたClangFormatを使って、ソースコードを整形するXcodeプラグインです。

2013/11/22

子クラスのメソッド内から親クラスのメソッドを呼ばせる必要があるときはNS_REQUIRES_SUPERを使いましょう

UIViewControllerviewDidAppear: のように、子クラスのメソッド内で親クラスのメソッドを呼ぶことを強制させたいことがあります。

このような場合に、Appleのドキュメントではその旨が書かれていたりします (例えば “If you override this method, you must call super at some point in your implementation.”) が、 うっかり忘れても警告なしでコンパイルが成功してしまいます。

NS_REQUIRES_SUPERを使うと、このようなときに警告を出してくれるようになります。

なお、詳細はClangの言語拡張を参照してください。

2013/09/25

Objective-C++でBlocksの代わりにC++11のlambdaを利用する

Clang Language Extensionsによると、C++11のlambda式からBlocksポインタへの変換が自動で行われるみたいなので試してみました。

なお、確認にあたって利用したXcodeのバージョンは5.0 (5A1412)です。

2012/10/05

JenkinsでObjective-Cソースコードの静的解析結果のグラフを表示できるようにする

前回の記事「JenkinsでObjective-Cのコード重複を採れるようにする」でObjective-Cのコード重複をJenkinsで採れるようにしました。

今回はJenkinsのClang Scan-Build Pluginを導入して、Objective-Cソースコードの静的解析結果のグラフを表示できるようにするまでの手順を紹介します。