Wlasnie pisze maly program i chce dodac do niego okno z preferencjami. A wiec robie jak zawsze postepowalem, tzn. tworze kolejnego xib'a i tam wszystkie kontrolki, etc. Do tej pory wszystko dzialalo dobrze. Teraz jednak moge wyswietlic okno tylko raz. Zaden blad nie wyskakuje. Jednak jak nacisne przycisk Opcje to okno sie pokaze. Jak nacisne przycisk "zamknij okno" to okno sie zamknie ale juz drugi raz nie jestem w stanie wywolac okna. Ponizej kod jak zawsze postepowalem:
Kod://W AppController.h @class PreferenceController; @interface AppController : NSObject { PreferenceController *preferenceController; } @endTeraz klasa PreferenceController obslugujaca oknoKod://W AppController.m #import "PreferenceController.h" (...) - (IBAction)showPreferencePanel:(id)sender { // Is preferenceController nil? if (!preferenceController) { preferenceController = [[PreferenceController alloc] init]; } NSLog(@"-> %@", preferenceController); [preferenceController showWindow:self]; }
Kod:#import@interface PreferenceController : NSWindowController { } @end Tak jak pisalem, wczesniej takie rozwiazanie dzialalo sprawnie. Nie mialem zadbych problemow z wyswietlaniem okien dialogowych. Teraz po zalaczeniu programu moge wyswietlic okno Opcji tylko raz. Ktos ma pomysl jak sie z tym uporac? Ewentualnie inne rozwiazanie?Kod:#import "PreferenceController.h" @implementation PreferenceController - (id)init { if (![super initWithWindowNibName:@"Preferences"]) return nil; return self; } - (void)dealloc { [super dealloc]; } - (void)windowDidLoad { NSLog(@"Preferences xib zaladowany"); } @end
EDIT:
Roziazanie jest jedno i banalnie proste - uwazac co z czym laczymy w IBDo zamkniecia :P




LinkBack URL
About LinkBacks
