Avatar ·

Como declarar um array de weak references em Swift?

Olá a todos! Sou novo em Swift e estou tentando entender o gerenciamento de memória. Tenho uma classe `Delegate` que é usada como delegate para vários objetos. Quero armazenar uma lista desses delegates em um array, mas não quero que o array mantenha uma strong reference para eles, caso contrário, ocorrerão vazamentos de memória ou referências cíclicas. Em Objective-C, eu usava `NSPointerArray` com a opção `NSPointerFunctionsWeakMemory`. Mas em Swift, não posso simplesmente escrever `weak var delegates: [Delegate]` — o compilador gera um erro: `'weak' may only be applied to class and class-bound protocol types, not array`. Aqui está um exemplo do meu código: ```swift class Delegate { weak var owner: SomeClass? func didSomething() { } } class SomeClass { // Como tornar este array fraco? var delegates: [Delegate]