2012-08-17 22 views
5

'u kapatırken kaydetmeyi önleyin Önizleme modu için NSWindow numaralı ikincil belge kullanan bir belge tabanlı Kakao uygulamasına sahibim (shouldCloseDocument, NO olarak ayarlanmış). NSWindow

belge kirliyse

(kaydetmeden düzenlenmiş) ve ikincil NSWindow kapatmak bir istemi görüntülenene "Belgede yapılan değişiklikleri kaydetmek istiyor musunuz".

İkincil NSWindow numaralı telefondan bu komut isteminden nasıl kurtulabilirim?

+0

Ne windowWillClose temsilci yönteminde nil sekonder pencerenin belgeyi ayarlarsanız ? – cocoafan

+0

İlginç bir fikir ama işe yaramıyor. Kaydetme istemi görüntülendikten sonra 'windowWillClose' denir. – hpique

+0

Ve böylece NSWindowDelegate 'WindowShouldClose' ve NSWindow'un 'close'. – hpique

cevap

0

Bunu yapmanın bir yolunu bulamadım. Kaydetme isteminden önce çağrılan bir NSWindowDelegate veya NSWindow yöntemini bulmayı bekledim, ancak açık olan adayların hiçbiri (windowWillClose, close, performClose, windowShouldClose). Geçici çözüm olarak, NSWindowController.document ayarı yerine belgeyi geçirmek için özel bir özellik kullanıyorum. NIL olarak ayarlandığında, kaydetme istemi artık gösterilmiyor.

0

özellikle size viewController alt sınıf içindeki yapabilirsiniz: emin temsilci sahibi sınıfına penceresinden ayarlanmış olduğundan emin olun:

//------------------------------------------------------- 
- (void)windowControllerDidLoadNib:(NSWindowController *)aController 
{ 
NSLog (@"windowControllerDidLoadNib"); 
    aController.document = nil; 
    [super windowControllerDidLoadNib:aController]; 

............. etc....... 
İlgili konular