Hi!
Ich arbeite gerade das Beispiel zur Sheetanzeige im Buch (Seite 360-367) durch. Dabei erhalte ich die folgende Fehlermeldung, die leider keinen Zeilenhinweis oder ähnlich Verwertbares mitteilt:
Type '({anonymous})' does not have a known size
Schuld zu sein scheint die Selector-Methode:
-(void)sheetDidEnd:(NSWindow *)openSheet returnCode:(int)button contextInfo:(void)context
Jedenfalls läuft alles wunderbar, wenn ich diese Methode auskommentiere (natürlich mit der Ausnahme der Methode selbst).
Da die Fehlermeldung keinen (für mich) erkennbaren Ursprung angibt, tue ich mich recht schwer mit der Ursachenbehebung. Ich habe den Code und das Vorgehen im Interface Builder mehrmalsmit dem Buch verglichen, finde aber keinen Fehler.
Code:
Alles anzeigen
Hat jemand einen Anhaltspunkt, der den Fehler eingrenzen könnte?
Ich arbeite gerade das Beispiel zur Sheetanzeige im Buch (Seite 360-367) durch. Dabei erhalte ich die folgende Fehlermeldung, die leider keinen Zeilenhinweis oder ähnlich Verwertbares mitteilt:
Type '({anonymous})' does not have a known size
Schuld zu sein scheint die Selector-Methode:
-(void)sheetDidEnd:(NSWindow *)openSheet returnCode:(int)button contextInfo:(void)context
Jedenfalls läuft alles wunderbar, wenn ich diese Methode auskommentiere (natürlich mit der Ausnahme der Methode selbst).
Da die Fehlermeldung keinen (für mich) erkennbaren Ursprung angibt, tue ich mich recht schwer mit der Ursachenbehebung. Ich habe den Code und das Vorgehen im Interface Builder mehrmalsmit dem Buch verglichen, finde aber keinen Fehler.
Code:
Quellcode
- #import "Converter.h"
- @implementation Converter
- //Diese Methode sorgt offensichtlich für die folgende Fehlermeldung:
- //==> Type '({anonymous})' does not have a known size <==
- //Nach dem Auskommentieren dieser Methode läuft alles perfekt,
- //natürlich mit der Ausnahme, dass das des Schließens des Sheets dann nicht funktioniert!
- -(void)sheetDidEnd:(NSWindow *)openSheet returnCode:(int)button contextInfo:(void)context {
- [openSheet orderOut:self];
- NSLog(@"Weg isses" );
- }
- - (IBAction)calculate:(id)sender
- {
- double input = [inputTextField doubleValue];
- double factor = [factorTextField doubleValue];
- double result = input * factor;
- [outputTextField setDoubleValue:result];
- }
- -(IBAction)performButtonClicked:(id)sender {
- NSLog(@"Eingabe: %@", [dataTextField stringValue]);
- [NSApp endSheet:sheet]; //Sheet deaktivieren
- }
- -(IBAction)cancelButtonClicked:(id)sender {
- NSLog(@"Abgebrochen!");
- [NSApp endSheet:sheet]; //Sheet deaktivieren
- }
- - (IBAction)playWithViews:(id)sender {
- NSApplication *application = [NSApplication sharedApplication];
- SEL callback = @selector(sheetDidEnd:returnCode:contextInfo:);
- [application beginSheet:sheet
- modalForWindow:[sender window]
- modalDelegate:self
- didEndSelector:callback
- contextInfo:nil];
- }
- @end