2010-06-17 5 views

ответ

154

Самый безопасный способ переименования файлов - реорганизовать имя класса с помощью команды Xcode «Refactor». Используя эту команду, убедитесь, что ваш код также обновлен везде, где указывается файл или класс (включая NIB).

Щелкните правой кнопкой мыши имя класса в интерфейсе (.h), выберите , и Xcode проведет вас через процесс, позволяя предварительно просмотреть изменения до того, как вы их совершите.

Подробнее:

Щелкните правой кнопкой мыши на имени класса (после @interface) и выберите Refactor-> Переименовать. Например, щелкните правой кнопкой мыши на ViewController в этом коде:

@interface ViewController : UIViewController 

enter image description here

Введите новое имя для класса:

enter image description here

Xcode позволит вам просмотреть изменения, прежде чем совершить ,

enter image description here

Вы также можете выделить имя класса и использовать Edit->Refactor меню Xcode, либо даже сопоставить его с помощью сочетания клавиш, если вы хотите.

Если вы действительно хотите переименовать файл, не затрагивая какой-либо код, нажмите на имя в панели «Навигатор» (левая панель), подождите секунду, а затем щелкните еще раз. Имя будет выделено, и вы можете ввести новый. Вы также можете удалить из Навигатора, переименовать файл в Finder и повторно добавить его в свой проект.

+0

Этот подход лучше всего, поскольку он переименует экземпляры классов, хранящиеся в других файлах или XIB-файлах. –

+2

человек - я хотел знать, как это делается целую вечность! – roocell

+0

Это, похоже, не работает с тех пор, как я обновился до 4.3. В файле заголовка (.h) XCode жалуется, что файл не добавлен в цель, чего не должно быть, поскольку это файл заголовка. Если вы пытаетесь использовать файл .m, он жалуется, что это не символ (класс, функция и т. Д.). – Michael

3

По умолчанию Xcode переименует файл при его переименовании либо в навигаторе файлов (в левой части экрана), либо при использовании инспектора.

+0

Привет, я хотел бы переименовать протокол (SideToolBarDelegate.h) с ToolBarDelegate.h, но Xcode говорит мне: «SideToolBarDelegate.h импортируется или включается в файл Objective-C++, а не Objective-C или C:». Как я могу переименовать его, пожалуйста? Спасибо – samir

+0

Найти и заменить. – bbum

+0

я извиняюсь, не работает. – samir

41

Работы для Xcode 4.2.1: выберите файл в проекте штурмана (по умолчанию левой панели) и нажмите [Закладка]

+0

Спасибо. Refactor-> Rename не работал с файлами C++. Это сработало. – BlueVoid

+4

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

+0

Отлично. Спасибо – Shaun

0

Если вы переименовали файл вручную, и используются Найти и Заменить, чтобы переименовать имя класса , убедитесь, что файл добавлен в «Скомпилировать источники в фазах сборки вашей цели», поскольку он, вероятно, будет удален.

0

Выберите Refactor-> Переименовать ответ nevan короля также отлично работает на Xcode версии 7.0 бета (7A120f)

+0

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). –

+0

Потому что у меня нет 50 репутации. Вот что я отправляю ответ на ответ. –

Смежные вопросы