Как я заставляю XCode копировать структуру группы проекта в структуре папок на диске?

Положив ответ Томаша Зато, я согласен с тем, что простое повторение массивов является самым быстрым. Кроме того (как уже отмечали другие), функцию следует называть равной / равной, а не сравнивать. В свете этого я модифицировал функцию, чтобы обрабатывать массивы для сходства - т. Е. Они имеют одни и те же элементы, но не в порядке - для личного использования, и я думал, что я брошу его здесь для всеобщего обозрения.

Array.prototype.equals = function (array, strict) {
    if (!array)
        return false;

    if (arguments.length == 1)
        strict = true;

    if (this.length != array.length)
        return false;

    for (var i = 0; i < this.length; i++) {
        if (this[i] instanceof Array && array[i] instanceof Array) {
            if (!this[i].equals(array[i], strict))
                return false;
        }
        else if (strict && this[i] != array[i]) {
            return false;
        }
        else if (!strict) {
            return this.sort().equals(array.sort(), true);
        }
    }
    return true;
}

Эта функция принимает дополнительный параметр strict, который по умолчанию имеет значение true. Этот строгий параметр определяет, должны ли массивы быть полностью равными как по содержимому, так и по порядку этого содержимого или просто содержать одно и то же содержимое.

Пример:

var arr1 = [1, 2, 3, 4];
var arr2 = [2, 1, 4, 3];  // Loosely equal to 1
var arr3 = [2, 2, 3, 4];  // Not equal to 1
var arr4 = [1, 2, 3, 4];  // Strictly equal to 1

arr1.equals(arr2);         // false
arr1.equals(arr2, false);  // true
arr1.equals(arr3);         // false
arr1.equals(arr3, false);  // false
arr1.equals(arr4);         // true
arr1.equals(arr4, false);  // true

I 've также написал быстрый jsfiddle с функцией и этим примером: http://jsfiddle.net/Roundaround/DLkxX/

43
задан Chris Hanson 6 December 2008 в 14:37
поделиться

2 ответа

Существует не, "заставляют мой диск быть похожим на мою структуру проекта" функциональность в XCode.

Вы могли автоматизировать использование задачи AppleScript, хотя: можно и исследовать и изменить структуру проекта из сценария. Таким образом, необходимо было бы просто записать сценарий, который выполняет итерации по структуре проекта и заставляет иерархию папок посмотреть путь, структура проекта делает и корректируется, где файл XCode и ссылки группы указывают одновременно.

0
ответ дан Chris Hanson 23 September 2019 в 12:53
поделиться

Ссылка папки - то, что Вы хотите. При перетаскивании или добавлении файлов к проекту существует опция "Создать Ссылки Папки для любых добавленных папок". Выберите это, и Вы получите поведение, которое Вы хотите.

сопроводительный текст http://img.skitch.com/20081203-prtxsp7c36ern4afxxdixy93sq.png

Вы могли попытаться добавить всю папку включения проекта как ссылка папки. Это должно получить все. Или добавьте ссылки для "Классов" "Ресурсы" и "XML" индивидуально.

11
ответ дан amrox 23 September 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: