Каковы эти маленькие изображения, которые вызывают в окне автозаполнения? На что все стоят? [Дубликат]

Это не ошибка дизайна . Любой, кто совершает это, делает что-то неправильно.

Есть три случая, когда я вижу, где вы можете столкнуться с этой проблемой:

  1. Вы намерены изменить аргумент как сторону эффект функции. В этом случае никогда не имеет смысла иметь аргумент по умолчанию. Единственное исключение - когда вы злоупотребляете списком аргументов, чтобы иметь функциональные атрибуты, например. cache={}, и вы не должны были бы вызывать функцию с фактическим аргументом вообще.
  2. Вы намерены оставить аргумент немодифицированным, но вы случайно сделали изменить его , Это ошибка, исправьте ее.
  3. Вы намерены изменить аргумент для использования внутри функции, но не ожидали, что изменение будет доступно для просмотра вне функции. В этом случае вам нужно сделать копию аргумента, независимо от того, был ли он по умолчанию или нет!

Пример в вопросе может относиться к категории 1 или 3. Нечетно, что он изменяет переданный список и возвращает его; вы должны выбрать тот или другой.

42
задан Jon 22 July 2011 в 11:58
поделиться

1 ответ

В Xcode это называется «Кодовое чувство». Эти значки также существуют в Xcode 3. Эти значки также используются в навигации по символам.

Красный: макрос

  • # [/g27] = макрос (думаю #define)

Браун: Основные данные / пространство имен

  • C [/g28] = смоделировано c lass
  • M [/g29] = смоделированный m этад
  • P [/g30] = смоделированный p роперти
  • N [/g31] = C ++ n amespace

Оранжевый: псевдонимы

  • C with underscore [/g32] = Objective-C c ategory
  • E [/g33] = e num
  • T [/g34] = t ypedef / t ypealias
  • Ex [/g35] = Swift ex
  • b [g g]

  • B [/g36] = b g37] [/g37] = f unction
  • F [/g38] = f ield
  • K [/g39] = c onstant
  • L [/g40] = l ocal variable
  • O [/g41] = IB O utlet
  • V [/g42] = v ariable (может быть ivar, глобальный var, локальный var и т. д.)
  • x [/g43] = параметр (думаю, f (x )
  • )

Синий: методы

  • A [/g44] = IB A ction
  • M [/g45] = m ethod
  • P [/g46] = p roperty

Фиолетовый: совокупные типы

  • C [/g47] = c lass (Objective-C, Swift или C ++)
  • CE [/g48] = c lass e xtension
  • Pr [/g49] = Objective-C / Swift pr otocol
  • S [/g50] = s truct
  • U [/g51] = u nion

Серый: фрагменты

  • {} [/g52] = фрагменты

Иконки: #pragma mark или комментарии

  • Flag [/g53] = !!!: ...
  • Patch [/g54] = FIXME: ...
  • ? [/g55] = ???: ...
  • Items [/g56] = TODO: ...
  • List [/g57] = MARK: ...

Вы должны иметь возможность искать значения из имен файлов из /Developer/Library/PrivateFrameworks/DVTFoundation.framework/Resources/Xcode.SourceCodeSymbolKind.*.Icon.tiff *.

В более поздних версиях Xcode путь перемещается в /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Resources/Assets.car, см. Анализ файла Assets.car в IOS о том, как извлечь изображения из * .car

87
ответ дан Community 21 August 2018 в 04:09
поделиться
  • 1
    Спасибо @KennyTM за ваш подробный ответ! Это поможет мне (и многим другим :)) быстро наращивать развитие какао на XCode. Еще раз спасибо! – hiprakhar 23 July 2011 в 15:18
  • 2
    Приятно, но более приятно, если бы вы могли поместить значки и объяснение вместе. – Wronski 15 March 2014 в 06:18
  • 3
    Можете ли вы объяснить, что «смоделировано»? означает в контексте «моделируемого класса / метода / свойства»? – Lèse majesté 21 August 2015 в 20:07
  • 4
    Значки теперь хранятся в /Applications/Xcode.app//Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/Assets.car. Вы можете извлечь содержимое этого файла, используя cartool . – rob mayoff 30 July 2016 в 16:37
  • 5
    – Vitya Shurapov 21 August 2017 в 22:01
Другие вопросы по тегам:

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