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]