2017-01-10 8 views
2

Я пытаюсь расширить struct, который уже находится внутри struct. Когда я пишу следующий код, я получаюРасширение структуры, которая находится внутри другой структуры

Объявление действителен только при объеме файла.

struct A { 
    struct AA { 

    } 
} 

extension A { 
    extension AA { 

    } 
} 

ли недействителен написать расширение внутри расширения?

+2

[Соответствующая часть направляющей языка] (https://developer.apple.com /library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID378): * «Объявления расширений не могут содержать деинициализатор или декларации протокола, хранимые свойства, наблюдатели свойств , ** или другие объявления расширений. *** « – Hamish

+0

@Hamish Исправить, но совсем не актуально. – Raphael

+0

@ Raphael Учитывая единственный явный вопрос, который задал OP, был «* Недействительно ли писать расширение внутри расширения?» «Я бы сказал, что это очень актуально. – Hamish

ответ

7

Похоже, что единственный способ сделать это:

extension A.AA 
{ 
    func test() 
    { 
     print("Test") 
    } 
} 

Он просто работал в моей детской площадке

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

  • Нет связанных вопросов^_^