Avatar ·

Comment déclarer un tableau de weak references en Swift ?

Bonjour à tous ! Je suis débutant en Swift et j'essaie de comprendre la gestion de la mémoire. J'ai une classe `Delegate` qui est utilisée comme délégué pour plusieurs objets. Je veux stocker une liste de ces délégués dans un tableau, mais je ne veux pas que le tableau maintienne une référence forte, sinon cela provoquera des fuites mémoire ou des cycles de référence.\n\nEn Objective-C, j'utilisais `NSPointerArray` avec l'option `NSPointerFunctionsWeakMemory`. Mais en Swift, je ne peux pas simplement écrire `weak var delegates: [Delegate]` — le compilateur génère une erreur : `'weak' may only be applied to class and class-bound protocol types, not array`.\n\nVoici un exemple de mon code :\n\n```swift\nclass Delegate {\n weak var owner: SomeClass?\n func didSomething() { }\n}\n\nclass SomeClass {\n // Comment rendre ce tableau faible ?\n var delegates: [Delegate]