2016-03-25 10 views
0

Soyundan gelen özelliği geçersiz kılmak istiyorum, çünkü TestViewModel sınıfından ViewModel sınıfını TestViewModel'a dönüştürmeden doğrudan kullanmak istiyorum. Sanırım mümkün değil. İyi bir çözüm önerebilir misiniz? Aşağıdaki kodu ve hata:Alt öğe ile Swift özelliğini geçersiz kılma

/Users/evgeniirtishchev/Documents/Development/rdfuturesales/RDProject/View/Identification/IdentificationView.swift:12:26: Cannot override mutable property 'viewModel' of type 'ViewModel!' with covariant type 'IdentificationViewModel!'

+1

Eğer 'sınıf testview kastettiniz: View' yukarıda

ilgili soruya bakın? (Yerine ...: UIView). – dfri

+0

@dfri evet, üzgünüm, yazım hatası – katleta3000

cevap

1

Swift herhangi değişkenler veya özelliklerin sınıf türünü değiştirmek için izin vermez:

class ViewModel { 
} 

class View: UIView { 
    weak var viewModel: ViewModel! 
} 

class TestViewModel { 
} 

class TestView: View { 
    weak var viewModel: TestViewModel! // error here 
} 

bu hatayı aldım. Overriding superclass property with different type in Swift