Interface Builder (XIB) или код при слиянии в командной среде? - PullRequest
6 голосов
/ 17 сентября 2011

Слияние файлов компоновщика интерфейса с другими (и даже мной с другого компьютера) может стать настоящей проблемой.XIB xml, безусловно, лучше, чем NIB, но даже как xml, я обнаружил случаи, когда объединение и получение согласованного и действительного XIB было сложнее, чем просто взятие другого и ручное повторение внесенных изменений.

Мне интересно, что делают другие люди, у которых есть несколько людей, которые потенциально могут столкнуться на XIB.

Было ли объединение соображений для прохождения всего кода?Используете ли вы XIB только для разметки и кода остальное?Или вам повезло объединить XIB и со временем вы стали лучше читать вручную?

РЕДАКТИРОВАТЬ: Мой нынешний подход использует его для строгой компоновки (что действительно хорошо и больно кодировать) и настройку всех параметров и данных с помощью кода.Я считаю, что код гораздо легче объединить, но выкладывание элементов управления в коде утомительно.Мысли?

Ответы [ 3 ]

2 голосов
/ 20 августа 2012

Было ли объединение соображений для прохождения всего кода?

Да, Нет, и "Части".Это зависит от таких вещей, как:

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

Но да, так и было, и это часто бывает, когда случай просто не тривиален - В противном случае вы просто боретесь с ним, разлагая XIBs на более мелкие части.Это может работать довольно хорошо (или нет), в зависимости от того, с чем вы столкнулись.

Используете ли вы XIB только для разметки и кодирования остального?

Зависит отмногое.

  • Только для XIB имеет свои ограничения и очень похоже на дублирование кода.Иногда я использую его для создания прототипов, а иногда - потому что это то, что кому-то еще нравится.
  • "Немного и того, и другого" может потребовать много клея.Время от времени, это может быть довольно дезорганизовано - например, "где это действие действительно установлено?".Конечно, это также может быть использовано для достижения того, что некоторые считают хорошим балансом между XIB и программным разделением.Чем проще XIB, тем реже он будет нуждаться в корректировке, и менее вероятно, что он вызовет конфликты слияния.
  • Мой выбор - только код, но есть люди, которые просто предпочитают WYSIWYG, и люди не хотятне очень хорошо пишу программные интерфейсы.Кроме того, если качество, возможность повторного использования и ремонтопригодность не являются требованиями (например, ударить прототип), то только код может быть излишним.

Или вам повезло объединить XIB исо временем вы просто лучше разбираетесь в ручном чтении?

Нет особой удачи - просто разбивая их на более мелкие компоненты.К сожалению, опция «Разобрать интерфейс» (из IB3) недоступна в редакторе Xc4.

1 голос
/ 18 сентября 2011

Я обнаружил, что IB лучше для разметки, как вы упоминаете, но, вероятно, это только я, потому что я был воспитан таким образом. Плюс код более пригоден для повторного использования, чем разметки.

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

0 голосов
/ 20 августа 2012

То, что я делаю, не пытается объединиться, просто принимает версию ветки полностью или вашу версию.Это означает, что вы должны быть немного дисциплинированными в отношении того, кто может изменять код интерфейса, а также в отношении коммитов и обновлений, на практике мы не обнаружили в этом проблемы, но, думаю, это зависит от вашей среды.Не используйте это в качестве предлога, чтобы прекратить использовать интерфейсный конструктор, нет ничего хуже, чем пытаться копаться в чужом коде, чтобы найти кнопку, чтобы вы могли понять, что происходит, когда пользователь нажимает на нее. Без Interface Builder вы не соблюдаете разделение MVC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...