На написание данного поста меня с подвигла недавняя задача! Мне нужно было для записки и слайдов дипломного проекта предоставить UML диаграммы. Сначала по гуглил и сразу попал на страницу одной софтины, которая называется MacTranslator, забегая на перед, т.к. многие могут просто не дочитать, НЕ РЕКОМЕНДУЮ ее покапать, хотя вряд ли ее кто и купит из читателей и простых серферов веба, т.к. софтина стоит 465$, если не ошибаюсь :)

Небольшое отступление:
С Xcode средой разработки я знаком уже почти 2 года, и с версиями ниже 3-ей не работал. Многое уже освоил, но занимаюсь изучением возможностей данной среды далее. Считаю, что много интересного я еще не знаю!

Далее я нашел много интересного программного обеспечения, но ни один из продуктов мне не пришелся по вкусу и функционалу, всего 2 продукта поддерживали Objective-C, что весьма печально. В итоге я начал рисовать вручную и когда зашел в Xcode меня осенило, что я зря провел время на поиски! На сегодняшний день Xcode может все сделать за вас! Как давно есть этот функционал я не задавался вопросом, но по моим предположениям и по скриншотам, могу предположить что довольна таки давно, примерно с 2006 года точно! Судя по данному документу!

Немного еще поискав по девелоперской части сайта , наткнулся на Introduction to Xcode Design Tools for Class Modeling

Кратко о том как это делается, на одном из семплов от Apple, к примеру “QuartzDemo”:

1. Добавляем новый фаил “Class Model”
Добавление файла в Xcode для отображения UML из исходного кода Objective-C, UML from Objective-C source code

2. Добавляем в него файлы и нажимаем “Finish”
Create Class Model

3. В итоге мы увидим UML диаграммы, но они будут немного не наглядно выстраены, это легко поправимо, результат:

UML Xcode
UML Xcode

В каждом блоке можно развернуть Properties и Operations! Из каждого элемента можно легко перейти к участку кода!

Рекомендую использовать для наглядности. Очень помогает когда возвращаешся к старому проекту. Плюсов очень много.

Хочу сказать, что все оказалось очень просто и довольна таки красиво, вот к примеру мои UML диаграммы на стадии разработки одного из моих проектов, текст специально мелкий, чтоб не возможно было прочитать :)