В Objective C, каков эквивалент “instanceof” ключевого слова Java?

Все фазы выполняются для всех модулей. Когда вы запускаете mvn package в своем корневом каталоге, он запускает все фазы от жизненного цикла по умолчанию [ 1 ] до package для каждого модуля, который описан в вашем .

Но фазы ничего не делают. Они просто метки - и плагины связаны с этими метками [ 2 ]. То, что сделано в фазе, определяется списком плагинов, которые привязаны к этой фазе.

Что вы можете попробовать:

  • Измените packaging вашего модуля на не-jar. Упаковка определяет список привязок плагинов по умолчанию. Похоже, это лучший вариант для вас.
  • Извлеките модуль из и запустите те плагины, которые вам нужны отдельно. Таким образом, этот модуль будет полностью исключен из вашего корневого модуля.
  • Отсоедините плагин от вашего модуля (если плагин унаследован от родительского POM), установив для него несуществующую фазу (и все остальные плагины):
    
      maven-compiler-plugin
      
        
          default-compile
          none
        
      
    

184
задан 5 revs, 3 users 82% 11 July 2012 в 12:48
поделиться

3 ответа

Попробуйте [myObject class] за возврат класса объекта.

можно сделать точные сравнения с:

if ([myObject class] == [MyClass class])

, но не при помощи непосредственно MyClass идентификатор.

Так же, можно найти, имеет ли объект подкласс класса с:

if ([myObject isKindOfClass:[AnObject class]])

, как предложил Jon Skeet и zoul.

260
ответ дан 3 revs 23 November 2019 в 05:58
поделиться

От Википедия :

В Objective C, например, и дженерик Object и NSObject (в Cocoa/OpenStep) предоставляют метод isMemberOfClass:, который возвращается true, если аргументом методу является экземпляр указанного класса. Метод isKindOfClass: аналогично возвращает true, если аргумент наследовался указанному классу.

isKindOfClass: было бы самым близким к instanceof, звуками его.

37
ответ дан Jon Skeet 23 November 2019 в 05:58
поделиться

Посмотрите isKindOfClass: метод в документация NSObject . (Обычное слово предупреждения для такого вопроса - то, что проверка класса объекта часто является знаком выполнения чего-то не так.)

9
ответ дан zoul 23 November 2019 в 05:58
поделиться