2016-03-24 42 views
1

Protokolle uyumlu bir değişken istiyorum ancak hızlı derleyici protokolün onaylamadığını söylüyor. senin a açıkça bir A olarak yazdınız, daha ziyade bir AA olarak anlaşılmaktadır olmadığı içinHızlı protokol uygunluğu

protocol A {} 
protocol B { 
    var a : A { get } 
} 
class AA : A {} 
// Type 'BB' does not conform to protocol 'B' 
class BB : B { 
    let a = AA() 
} 

cevap

3

Sen protokolüne uygun değildir. Açık yap. var sadece get olduğunu ve hiçbir set olduğu gibi

protocol A {} 
protocol B { 
    var a : A { get } 
} 
class AA : A {} 

class BB : B { 
    let a: A = AA() // Explicitly typed here. 
} 

Eğer uygulanmasında protokolde var ve let kullanmış olması, kırmızı ringa.

İlgili konular