Подтвердить что ты не робот

Области Xcode

Поддерживает ли Xcode что-то похожее на директивы стиля #region для Visual Studio для произвольного сгибания кода?

4b9b3361

Ответ 1

Нет, вы можете только сбрасывать код на разных определенных уровнях охвата в Xcode.

Вы можете использовать небольшие трюки, чтобы упростить навигацию через меню функций.

#pragma mark

Позволяет создать группу, в которой будет отображаться метка следующего знака в меню функций. Если метка является дефисом, разделитель вставляется в меню функций.

Кроме того, в меню функций появятся следующие метки комментариев:

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

Очевидно, поскольку #pragma mark не очень портативен, если вы создаете портативное приложение и нуждаетесь в нем для работы с компилятором, который не просто игнорирует директивы #pragma, которые он не понимает, то комментарий в стиле комментария является достойной альтернативой.

Ответ 2

Я иду в ад для этого, но здесь идет:

В верхней части данного файла поместите

#define FOLD 1

Если вы хотите что-то сложить, оберните его в блок if следующим образом:

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

Это позволит вам сбросить карты с поля зрения.

Ответ 3

Это не будет работать там, где вы хотите больше всего, то есть вокруг групп функций или методов.

Это может быть полезно в длинном линейном методе без внутренних условных выражений или циклов, но такие методы не являются общими в общем коде Mac OS X UI, хотя, если вы пишете какой-то большой числовой или графический хрустальный код, может помочь сгруппировать вещи.

И if (fold) полностью избыточно. Просто используйте фигурные скобки внутри метода или функции, и Xcode будет складывать их.

Ответ 4

Попробуйте следующим образом:

//region title1
{
    //region Subtitl1
    {

    }
    //region Subtitl2
    {

    }
}

Он может сделать так:

It can do like that :

Ответ 5

Без поддержки регионов стиля .Net, возможность одновременного свернуть все ваши функции - это следующая лучшая вещь.

command - option - shift - left arrow чтобы свернуть все.

command - option - shift - right arrow для расширения всех.

Xcode будет помнить последнее состояние свернутых функций.

Ответ 6

Поместите свой желаемый код внутри скобок {}, и он станет точкой сгибания.

Но вы должны иметь в виду, что скобки также определяют область переменных, поэтому этот код не должен иметь объявлений переменных, которые будут использоваться вне этих скобок.

Ответ 7

Одно приятное решение, которое я только что нашел:

Поместите свой проект в одно большое пространство имен. Закройте и откройте это пространство имен для отдельных разделов исходного файла:

namespace myproj { // members of class MyClassA

void MyClassA::dosomething()
{
}

void MyClassA::dosomethingelse()
{
}

} // members of class MyClassA
namespace myproj { // members of MyClassB

void MyClassB::dosomething()
{
}

void MyClassB::dosomethingelse()
{
}

} // members of MyClassB