Xcode: просмотреть ссылки на переменную?
Я новичок в Xcode. Я не уверен, есть ли способ просмотреть ссылки на переменную, например, "Найти все ссылки" в Visual Studio, щелкнув правой кнопкой мыши на переменную?
Например, в моем файле.h я хотел бы узнать или просмотреть все ссылки на свойство isSet:
@interface MyInterface {
...
BOOL isSet; // view all references to this var?
...
}
7 ответов
Помимо XCode есть IDE AppCode от JetBrains. И в AppCode это легко возможно, просто выберите Search
-> Find Usages
,
Попробуйте использовать: Найти в проекте -> Как контекстное меню символа. Иногда вы можете вместо этого искать в качестве определения.
Я искал подобный вариант. Я не знаю, почему XCode не включил это. Но есть обходной путь, которым я пользуюсь, пока Apple не предоставит такую возможность в XCode.
Попробуйте это в файле исходного кода (.m),
Select the symbol, right click -> Refactor -> Rename
-> Give a name whatever you wish, then press Preview.
Теперь вы можете найти все ссылки. Теперь вы можете Cancel
это или не переименовывать его.:)
Найти выбранный символ в рабочей области - это то, что вам нужно
- щелкните правой кнопкой мыши метод/свойство -> Найти -> Найти выбранный символ в рабочей области
- сфокусируйтесь на свойстве/методе и нажмите
⇧ + ⌃ + ⌘ + F
(или можно заказать индивидуальный)
Выполняет в основном тот же поиск, что и Refactor -> Rename.
Обновление для XCode 12: щелкните правой кнопкой мыши определение -> Показать действия кода -> Вызывающие абоненты...
Это покажет каждое место в проекте, где есть ссылка на этот метод или свойство.
Я использую XCode версии 4.5, и я могу выбрать метод или свойство, щелкните правой кнопкой мыши и выберите Найти выбранный текст в рабочей области...
В вашем вопросе вы объединяете две разные вещи: поиск ссылок на переменную и поиск ссылок на свойство. Поиск ссылок на свойство можно выполнить через меню "Связанные файлы", как описано в моем ответе здесь: /questions/46238933/najti-ssyilki-na-metodyi-v-xcode/46238977#46238977
Поиск ссылок на переменную можно выполнить с помощью вкладки "Найти навигатор" навигатора. (Это вкладка со значком лупы в боковом меню слева.) Find
-> References
-> Matching
и введите переменную, которую вы ищете. Тем не менее, я не вижу, что это особенно полезно, потому что:
- Он будет сопоставлять все вхождения переменной с этим именем, даже если они не связаны с конкретной переменной, которую вы ищете.
- Зачем вам это нужно? Обычно вы не должны использовать публичные переменные-члены (вместо этого используйте свойства), поэтому в 99% случаев все ссылки на интересующую вас переменную будут находиться в файле, в котором она объявлена. Мне просто достаточно было использовать cmd+f и выполнить простой текстовый поиск по этому файлу, и я никогда не чувствовал необходимости использовать более тяжелую технику. Если вы нажмете пару комментариев, делая это, кого это волнует?
Если вы действительно действительно нуждаетесь в запрашиваемой вами функциональности, а также в меню "Связанные файлы", Find
-> References
или простой текстовый поиск не подойдет, тогда ваши единственные варианты - использовать какой-либо сторонний инструмент, такой как AppCode или (громоздкий, медленный) взлом "рефакторинга", предложенный Каримом.