2011-03-08 9 views
11

Bazı örnek kodlardan geçerken, "belge tabanlı uygulama oluştur" seçeneği seçildiğinde, IB'deki ana Pencere Başlığı'nın ayarının bir etkisi olmayacağını unutmayın. Pencere, başlık olarak "İsimsiz" ile çıkacaktı. Ve pencere başlığını ayarlamak için MyDocument: NSDocument inorder 'de (NSString *) displayName {} geçersiz kılmamız gerekir. Sadece xcode'daki bazı uzmanların bunun neden böyle olduğunu açıklamasını dilerim. Yani, proje başlangıçta oluşturulduğunda "belge tabanlı uygulama oluştur" seçeneğini işaretlediğimizde sisteme eklenen nedir?Xcode'ta "belge tabanlı uygulama oluştur" seçeneği seçildiğinde ne olur?

cevap

13

Xcode'ta bir şablondan bir proje oluşturduğunuzda, Xcode'un gerçekten bir kod oluşturulamadığını anlayın. Elbette, adınız, proje adınız vb. Ile birkaç boşluk doldurabilir. Ancak, aldığınız proje, seçtiğiniz proje türü için başlangıç ​​koduna sahip olabilir. 'Belgeye dayalı' seçeneğini işaretlediğinizde eklenecek olan, uygulamanız için makul bir adla özelleştirilmiş bir NSDocument alt sınıfıdır.

this gibi Apples "İnsan Arabirimi Yönergeleri" bölümüne bakın ve görüntülendikleri belgeye göre bu belge pencerelerinin başlıklandırılmasının beklendiğini görürsünüz. Bu nedenle, belge tabanlı bir uygulama için varsayılan davranış, başlığı belge dosyasının dosya adına ayarlamanızdır.

Son olarak, başvuru sayfasına bakın ve gördüğünüz davranışların NSDocument sınıfının bir parçası olduğunu göreceksiniz. Özellikle, eğer -displayName yöntemine bakarsanız, pencere başlığının nasıl düzgün bir şekilde özelleştirileceğiyle ilgili bilgileri bulacaksınız.

+1

Detaylı açıklamanız için teşekkürler ... – Stanley

2

Pencere denetleyicisi, IB'deki bir pencereye verilen başlığı serbestçe geçersiz kılabilir. Belgeye dayalı olmayan bir uygulamada, varsayılan pencere denetleyicileri pencerenin başlığını kullanmazlar, çünkü yapmaları için bir nedenleri yoktur. Ancak, bir belge pencere denetleyicileri oluşturduğunda, onlara bağlı olduklarını söyler. Daha sonra, belgenin displayName özelliğine bakarlar ve yanıt olarak pencere başlığını güncellerler. Varsayılan uygulama, pencerenin başlığını, dosya kaydedilinceye kadar isimsiz olan, belgeninkiyle aynı olacak şekilde ayarlar.

+0

"Başlıksız" başlığın arkasında gerçekten bir neden olduğunu bilmek isteriz. İşaret ettiğin için teşekkürler. Cevabınız olmadan, özellikle yeni başlayanlar için "isimsiz" olması gerektiğini bilmek hiç kolay değil ... – Stanley

+0

Pencere denetleyicilerinin davranışları hakkındaki açıklamanız benim gibi yeni gelenler için çok kullanışlıdır. – Stanley

İlgili konular