2009-03-24 25 views
5

Xcode'ta basit bir sekme çubuğu uygulaması oluşturdum.iPhone SDK'da sekme çubuğu denetleyicisini kullanarak görünümün nasıl ayarlanacağı

Varsayılan sekme çubuğunda 2 sekme çubuğu öğesi vardır. Üçüncü bir sekme çubuğu öğesi ekledim ve görüntü denetleyici özniteliğini, oluşturduğum ve daha sonra ThirdView.xib adlı kaydedilmiş bir görünüme ayarladım.

Çalışmaya çalıştığımda, ilk iki varsayılan sekme düzgün çalışıyor. Eklediğim üçüncüsü bu hatayı atar:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "ThirdView" nib but 
the view outlet was not set.' 

Ben büyük iPhone SDK n00b olduğum gibi ben özür dilerim, ama tıklayıp sürükleyerek ve kontrol tıklama sürükleme hiçbir şekilde beni görünümü çıkışını ayarlamak için izin veriyor yarattığım üçüncü görüş.

cevap

2

10 dakika önce benzer bir sorun yaşadım, kaydedilmemiş xib dosyası :). Bazı nedenlerden dolayı XCode, bir vuruş çalıştırıldığında xib dosyalarını kaydetmeyi istemez.

Ancak, durum böyle değilse, xib dosyasında gerçekten görünümün olup olmadığını iki kez kontrol ederim.

Bunu yapmak için ThirdView.xib dosyasını düz metin dosyası olarak açın (sağ> açma> düz metin dosyası) ve metinde arama yapın: "> <'u görüntüle". Bunu bulamazsanız

<object class="IBConnectionRecord"> 
    <object class="IBCocoaTouchOutletConnection" key="connection"> 
     <string key="label">view</string> 
     <reference key="source" ref="372490531"/> 
     <reference key="destination" ref="191373211"/> 
    </object> 
    <int key="connectionID">15</int> 
</object> 

bu sorun Interface Builder bir hata nedeniyle anlamına gelebilir: görünüm bağlıysa aşağıdaki koda benzer bir şey bulmak gerekir. Ardından, bağlantıyı elle eklemeye çalışabilirsiniz. Durum buysa, haberim olsun.

1

InitFromNib'e aktardığınız dosya adını kontrol edin (ya da kontrol cihazını yüklüyorsanız). Bir yazım hatası veya uzantıyı içeren bu iletiyle sonuçlanabilir.

0

XCode 4'ü kullanarak, bu hatayı aldım çünkü Tab Çubuğu Denetleyicisindeki "Üçüncü" düğmesi için NIB adını ayarlamadım. Düğme içindeki sekme çubuğu öğesini değil, "Üçüncü" düğmesini seçerek sabitledim ve Nitelikler Denetçisini kullanarak NIB adını ayarladım.

İlgili konular