web-dev-qa-db-ja.com

Xcodeはリージョンをサポートしていますか?

XcodeはVisualStudioスタイルに似たものをサポートしていますか#region任意のコード折り畳みのためのディレクティブ?

36
iano

いいえ、Xcodeで定義されたさまざまなスコープレベルでのみコードを折りたたむことができます。

ただし、ちょっとしたトリックを使用して、機能メニューからのナビゲートを簡単にすることができます。

#pragma mark

マークに続くラベルが機能メニューに表示されるグループを作成できます。ラベルがハイフンの場合、セパレータが機能メニューに挿入されます。

また、コメント内の次のラベルが機能メニューに表示されます。

// MARK:
// TODO:
// FIXME:
// !!!:
// ???:

明らかに、#pragmaマークは実際には移植性がないため、移植性のあるアプリケーションを構築していて、理解できない#pragmaディレクティブを無視しないコンパイラーで動作する必要がある場合は、コメントスタイルのマークが適切です。代替。

55
Jason Coco

私はこれのために地獄に行くつもりですが、ここに行きます:

特定のファイルの先頭に、

#define FOLD 1

何かを折りたたむ場合は、次のようにifブロックでラップします。

if(FOLD) {
 // your code to hide
 // more code
}

それはあなたが見えないようにそれを折りたたむことができます。

14
willc2

それはあなたが最も望む場所、つまり関数やメソッドのグループの周りでは機能しません。

内部条件やループのない長い線形メソッド内で役立つ場合がありますが、このようなメソッドは一般的なMac OS X UIコードでは一般的ではありませんが、大きな数値コードやグラフィックス処理コードを記述している場合は、グループ化に役立ちます。物事。

そして、if(fold)は完全に不要です。メソッドまたは関数内で中括弧を使用するだけで、Xcodeがそれらを折り畳みます。

4
cdespinosa

この方法を試してください:

//region title1
{
    //region Subtitl1
    {

    }
    //region Subtitl2
    {

    }
}

それはそのようにすることができます:

It can do like that :

2
user1028886

.Netスタイルの領域がサポートされていない場合、すべての関数を同時に折りたたむことができるのは次善の策です。

command-option-shift-left arrow すべてを崩壊させる。

command-option-shift-right arrow すべてを拡張します。

Xcodeは、折りたたまれた関数の最後の状態を記憶します。

1
Carter Medlin

目的のコードを角かっこ{}で囲むと、折りたたみゾーンになります。

ただし、角かっこは変数のスコープも定義するため、このコードには、これらの角かっこ以外で使用される変数宣言を含めないでください。

0
Kibernetik