SwiftSuspenders: «взаимно вводящие» классы? - PullRequest
1 голос
/ 19 ноября 2010

Поддерживает ли SwiftSuspenders классы "взаимного впрыскивания"?

Например, если класс A внедряет экземпляр B, а B внедряет экземпляр A:

class A {
    [Inject]
    public var b:B;
}
class B {
    [Inject]
    public var a:A;
}

А если нет, то как я могу подделать это поведение?

Я спрашиваю, потому что, когда я пытался сделать это в своем коде, я начал получать переполнения стека ... И похоже, что они вызваны SwiftSuspenders, пытающимися внедрить A в B в A в B в ...

1 Ответ

1 голос
/ 21 ноября 2010

Короткий ответ, вероятно, нет.Круговые зависимости - это трюк.Вы могли бы использовать инъекцию сеттера и доставить это таким образом.Внедрите A в B через сеттер, который также устанавливает B на A.

Возможно, стоит решить проблему с SS, чтобы решить проблему такого типа.

...