2012-09-16 15 views
9

Bir iOS uygulaması olan "Tek Görünüm Uygulaması" şablonu gibi bir ViewController ile bir Cocoa uygulaması başlatmak istiyorum, ancak böyle bir şablon yoktur. kullanılmış?)Mac OS X Kakao uygulamasında ViewController eklemenin standart bir yolu nedir? (ya da gerekli mi?)

Bu kakao uygulamaları için gerçekten bir tane gerekmiyor mu, bir NSView zaten her şeyi yapabilir? Tüm etkinlik işlemlerini özel NSView sınıfımıza yerleştirebiliriz. IOS'un çok daha fazlasını gerektirmesi olabilir, çünkü rotasyon ViewController tarafından gerçekleştiriliyor ve rotasyon genellikle gerekli oluyor mu? Ama MVC kullanırsak, her zaman bir ViewController kullanmak daha iyi olabilir ve eğer öyleyse, bunu yapmak için bir standart yol, bir şablon var mı?

cevap

3

OS X üzerinde NSViewController, iOS'ta sık sık UIViewController olarak kullanılmaz. Bunun nedenlerinden biri, gerçekten kullanışlı değil ve UIViewController'un güzel özelliklerinden yoksun olmasıdır. NSPopover kullanırken olduğu gibi, bunları kullanmanız gereken yalnızca birkaç durum vardır.

OS X kodunuzu yapılandırmanın birkaç yolu vardır. Bunlardan biri NSWindowController kullanıyor. IOS'ta NSWindowController'u UIViewController eşdeğeri olarak düşünebilirsiniz.

+1

OSX'te, iOS'taki gibi NSViewControllers arasında geçiş yapamazsınız değil mi? Yani sağa kayma yok ve böyle devam ediyor. Bu yüzden hemen sadece popup görünümleri için yararlı olduğunu söyleyerek haklı mıyım? –

+1

Uygulamanın bağımsız bölümlerini ayırarak ve bunları bir görünüm denetleyicisinde uygulayarak uygulamanızı yapılandırmak için hala yararlıdır. Örneğin, Mail uygulaması gibi bir şeyi uygulamak için, posta listesini görüntüleyen bir görünüm denetleyicisine ve seçili bir e-postayı görüntüleyen ikinci bir bağımsız görünüm denetleyicisine sahip olabilirsiniz. – DrummerB

5

OS X'teki "Denetleyici", NSView'leri yönetme açısından NSWindowController'dur. Davulcu, NSViewController'un çok yararlı olmadığını söylese de, katılmamalıyım - çok genişlediğinde NSWindowController'u bölmek için yararlıdır ve görünümler açısından açık mantıksal bölünmeler vardır.

tek bir NSWindowController olabilir ve yeterince karmaşık bir hal alıyor kez NSWindowControllerNSViewController sınıfının alt özgü görünümler tekabül görevlerini başka olabilir ve bu açıdan çok yararlıdır.

Varsayılan şablonlarda (doğru hatırlıyorsam), AppDelegate, teknik olarak bir değil olsa da, pencere denetleyicisinin rolünü alır. Daha karmaşık uygulamalarda, bunun yerine bir pencere denetleyicisini başlatmak iyi bir fikirdir.

Denetleyiciyi karıştırıp sürece bakmadığınız sürece kullanılabilir. Görünüm, sadece görüntülemeye ve temel giriş işlemine indirilmelidir.

+0

Sana katılmam gerek. Gerçekten bir NSViewController'a ihtiyacınız olduğunda bir açılır pencereden başka? NSWindow'unuzdaki diğer her şey için, yalnızca özel bir görünüm kullanabilir ve bu özel görünümü kendi sınıfına ekleyebilirsiniz. NSWindow'daki içerikleri bölmek ve yönetmek için ayrı NSViewControllers'e sahip olmanız gerekmez. –