• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

ViewController mit Button verbinden

hilbert

Erdapfel
Registriert
10.06.10
Beiträge
5
Hallo Leute,
ich möchte meinen ersten Forenbeitrag mit dieser Frage (Problem) eröffnen.
Zunächst muss ich aber sagen dass, ich angefangen habe iPhone Apps zu programmieren (bzw. programmieren zu lernen).
Dabei bin ich auf ein Problem gestossen dessen Lösung ich schon seit mehr als 3 Tagen nicht finden kann.
Es geht um folgendes.
Wenn ich ein Projekt bilde und View Build Application als Vorlage wähle sowie im Anschluss daran einen Button in der View des ViewControllers verbinde (über InterfaceBuilder und den existierenden entsprechenden Class Dateien natürlich) funktioniert alles wunderbar.
Aber sobald ich einen ViewController selber über InterfaceBuilder mit den entsprechenden Classen bilde mit genau dem selben Button wie vorhin und alle Verknüpfungen im IB herstelle so das alles hargenau so aussiet wie im ersten Fall, bis auf den Unterschied dass ich den VC mit initWithNibName erstelle, funktioniert das nich und bekommme die Meldung:
"[<UIViewController 0x3b0fb40> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key meinButton."

Kann mir bitte einer Helfen, ich weiß nicht mehr was ich machen soll nachdem ich drei Tage vergebens gesucht habe.
Mein Ziel ist es die ViewController mit den entsprechenden Views und Verbindungen aus der XIB datei zu laden.

Danke

Gruß,
Alex
 
Poste doch mal den Code der .h und .m Dateien
 
Besser das ganze Projekt ohne build-Ordner.

Gruss ppocket
 
Hallo da bin ich ich wieder, konnte leider nicht früher antworten.
Ich weiss nicht warum aber irgendwie kann ich die Dateien nicht hochladen, wenn ich sie auswählen möchte sind diese grau markiert und stehen nicht zur Auswahl. Daher werde ich den Quellcode von allen Klassen hier angeben:

Test02AppDelegate:

Code:
#import <UIKit/UIKit.h>
#import "DerVC.h"

@interface Test02AppDelegate : NSObject <UIApplicationDelegate> {
	DerVC *meinVC;
    UIWindow *window;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UIViewController *meinVC;

@end
/-----------------------------------------------
#import "Test02AppDelegate.h"

@implementation Test02AppDelegate

@synthesize window;
@synthesize meinVC;


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch
	meinVC = [[UIViewController alloc] initWithNibName:@"DerVC" bundle:nil];
	[window addSubview:meinVC.view];
    [window makeKeyAndVisible];
	return YES;
}


- (void)dealloc {
    [meinVC release];
    [window release];
    [super dealloc];
}


@end

DerVC.h

Code:
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "DerView.h"

@interface DerVC : UIViewController {
	IBOutlet UIButton *druchButton;

}
- (IBAction) gedrueckt:(id)sender;

@end
//------------------------------------------

#import "DerVC.h"

@implementation DerVC
- (IBAction) gedrueckt:(id)sender{
	NSLog(@"es geht");
}

@end

DerView.h und DerView.m sind in der Implementierung leer. Im DerVC.xib wurde der der Button mit DerVC (File's Owner) als Outlet und Action verbunden.

Wenn ihr noch was braucht dann sagt bescheid. Ich danke euch auf jeden Fall das ihr euch mein Problem anschaut.
 
Ich weiss jetzt wo mein Fehler beim Anhängen der Datei war und habe hier das Projekt angehängt.

Gruss
Alex
 

Anhänge

Ohne das Projekt hier vom Handy aus gesehen zu haben: dein Outlet heisst im Code 'druchButton'. Im XIB ist aber wahrscheinlich 'meinButton' gespeichert. Schau da mal nach. In 2 Stunden hab ich meinen Mac auch wieder zur Seite, schaue mir das dann an.

Gruss ppocket

Sent from my HTC Desire using Tapatalk
 
nein daran wird es nicht liegen. ich habe vorhin meinButton als Namen genommen damit IHR als Leser besser vertseht was ich meine.
Ich habe hier noch mal die Projekte hochgeladen und das Problem gefiltert.

Ich habe hier zwei Projekte die meiner Ansicht nach absolut gleich sind, aber bei einem geht es und bei dem anderen nicht.

Gruß Alex
 

Anhänge

Ich habe hier zwei Projekte die meiner Ansicht nach absolut gleich sind, aber bei einem geht es und bei dem anderen nicht.
Wenn Du eine eigene Subklasse von UIViewController erstellst und diese etwas auf Knopfdruck machen soll, dann musst Du diese Klasse auch instanzieren und nicht UIViewController. Und da Du auch schön Properties angelegt hast, benutze Setter und Getter:
Code:
self.meinVC = [[[DerVC alloc] initWithNibName:@"DerVC" bundle:nil] autorelease];
MacApple
 
Danke

Hallo MacApple, du weißt ja garnicht wie dankbar ich dir bin, mittlerweile habe ich schon 4 Tage an dieser Stelle verbracht und wusste nicht weiter. Du bist mein Retter ;-)

Gruß
hilbert