denetleyicinin görünümünün sınıfını nasıl tanıması gerekir?

Yeni bir özel görünüm sınıfı (UIView alt sınıfı) oluşturdum ve görünümün sınıfını arayüz oluşturucuda değiştirdim. Ancak, ne Xcode ne de derleyici, görünüm denetçisinin görüşünün sınıfını değiştirdiğini bilmiyor.

Örneğin, özel görünümümde bir seçicim var: - (void) changeShape Görünüm denetleyicimde [self.view changeShape] aramayı deniyorum, otomatik tamamlama yok ve derleyici "viewShape'a yanıt vermeyebilir" uyarısı veriyor.

App olsa sorun olmadan simülatörde çalışır.

Derleyicinin manzaranın sınıfının değiştirildiğini nasıl doğru bir şekilde bildirmesi gerektiğini merak ediyorum.

Teşekkürler

Aslan burcu

1
yöntem beyanınızı ve tanımınızı gönderir misiniz?
katma yazar Waqas Raja, kaynak
Görünüm sınıfını bilmek için bu kodu kullanın NSString * className = NSStringFromClass ([self.view sınıfı]) Ama sanırım amacınız için işe yaramaz, sadece [(MyView *) türünü kendiniz çevirmek. changeShape sayfasını görüntüle] ;
katma yazar beryllium, kaynak
Belki hedefi temizlemeyi deneyin çünkü biraz garip geliyor, bunu sorunsuz bir şekilde yaptım.
katma yazar Herz Rod, kaynak

1 cevap

Basit bir çözüm typecast self.view olurdu: [(YourViewClass *) self.view changeShape] YourViewClass için başlık dosyasını da aldığınızdan emin olun ve derleyici size bir uyarı vermemelidir.

1
katma