Swift не имеет понятия анонимных классов. Однако у него есть понятие вложенных классов. Вы могли бы написать что-то вроде этого:
func myMethod() {
class DelegateImpl: Delegate { ... }
doSomething(DelegateImpl())
}
Осторожно, однако, что делегаты обычно объявляются как weak
, что означает, что вновь выделенный экземпляр будет немедленно освобожден. Это связано не с тем, как класс объявляется (т. Е. Вложенным вместо встроенного), а с правилами управления памятью Swift (он же AR C).
Однако, как отмечали другие, замыкания может быть более подходящим для такого рода функций.