Döngüdeki bazı referanslar koleksiyonlarda tutulduğunda tutma döngülerini önlemek için bir yöntem bulmaya çalışıyorum. Benim fikrim bir sarmalayıcı struct
yaratmaktı:Sınıf tipi olmak için genel bir tür parametresi zorlar mı?
struct Weak<T> {
unowned let value: T
init(_ value: T) {
self.value = value
}
}
burada mesele unowned
ve weak
üyeleri sınıf türü (main.swift:3:17: 'unowned' cannot be applied to non-class type 'T'; consider adding a class bound
) ait olması gerektiğini, ancak bana o T
kaynaklanan devralma gerektirecek hiçbir mantıklı üst sınıf var.
T
, belirli bir sınıftan devralmadan bir sınıf türüne zorlamak için herhangi bir yol var mı?
, teşekkürler! Bu belgelerin herhangi bir yerinde mi? –
Evet, genel tanımın sözdizimi için jenerikler bölümünü okuyun. Bu protokol hakkında daha fazla bilgi için iBook'da AnyObject'te bir arama yapın. –