Annunaki
26 juli 2009, 15:26
Yo guys,
I ben dus nog vanalles aan het leren, en ben gestart met het proberen programmeren in Objective-C, XCode en Interface Builder, maar ik loop nu al tegen een probleem / vraagje, en ik hoop dat misschien iemand hier mij in de juiste richting kan helpen.
Ik heb een Classe :
@interface LoginClass : NSObject
{
NSString *userName;
NSString *password;
NSString *secret;
BOOL connected;
}
- (void)logIn;
- (void)logOut;
- (id)initWithLogin:(NSString *)aLogin password:(NSString *)aPassword;
@property (readwrite, copy) NSString *userName;
@property (readwrite, copy) NSString *password;
@property (readonly) NSString *secret;
@property (readonly) BOOL connected;
Van deze Class wordt een instantie gemaakt in mijn AppController en die gebruik ik dan om bepaalde zaken te doen wanneer er bv een knop ingedrukt wordt op een scherm. Mijn Class zelf doet wat hij moet doen, en logt vanalles d.m.v. NSLog zodat ik kan zien wat er gebeurd. Properties worden ingevuld, de LogIn & LogOut worden mooi aangeroepen, ...
Mijn AppController ziet er zo uit :
@interface AppController : NSObject
{
IBOutlet NSTextField *userName;
IBOutlet NSTextField *password;
// IBOutlet NSTextField *secret;
IBOutlet NSWindow *window;
LoginClass * LoginClass;
}
- (IBAction)connect:(id)sender;
De implementatie van Connect heb ik in IB gekoppeld aan een button, en die wordt dus perfect uitgevoered wanneer er op de knop geklikt wordt. De code in de Connect ziet er ongeveer als volgt uit :
- (IBAction)connect:(id)sender
{
// Create an instance of our LoginClass
LoginClass = [[LoginClass alloc] initWithLogin:[userName stringValue] password:[password stringValue]];
// Now that we have our LoginClass we can start to work with it.
[LoginClass logIn];
...
}
In de logIn code van mijn class vull ik de secret property op met een dummy string, ook dat werkt perfect.
Waar ik echter niet in slaag is om de Value van een Label in IB te binden aan de secret property van mijn LoginClass. Ik heb nu reeds vanalles geprobeerd zonder succes.
Een object toevoegen in IB voor mijn LoginClass en de value dan binden aan de secret key van dat object lukt niet (geen errors, maar waarde wordt niet weergegeven, text van de label is leeg).
Ook reeds geprobeerd aan de hand van de AppController met de LoginClass.secret key, maar zelfde resultaat (geen dus).
Ik vermoed dat ik ergens iets verkeerd doe, of ergens iets over het hoofd zie, maar ik zie niet onmiddellijk wat, dus hoop ik dat iemand mij hier misschien in de juiste richting kan wijzen.
Met dank bij voorbaat,
Stefaan
I ben dus nog vanalles aan het leren, en ben gestart met het proberen programmeren in Objective-C, XCode en Interface Builder, maar ik loop nu al tegen een probleem / vraagje, en ik hoop dat misschien iemand hier mij in de juiste richting kan helpen.
Ik heb een Classe :
@interface LoginClass : NSObject
{
NSString *userName;
NSString *password;
NSString *secret;
BOOL connected;
}
- (void)logIn;
- (void)logOut;
- (id)initWithLogin:(NSString *)aLogin password:(NSString *)aPassword;
@property (readwrite, copy) NSString *userName;
@property (readwrite, copy) NSString *password;
@property (readonly) NSString *secret;
@property (readonly) BOOL connected;
Van deze Class wordt een instantie gemaakt in mijn AppController en die gebruik ik dan om bepaalde zaken te doen wanneer er bv een knop ingedrukt wordt op een scherm. Mijn Class zelf doet wat hij moet doen, en logt vanalles d.m.v. NSLog zodat ik kan zien wat er gebeurd. Properties worden ingevuld, de LogIn & LogOut worden mooi aangeroepen, ...
Mijn AppController ziet er zo uit :
@interface AppController : NSObject
{
IBOutlet NSTextField *userName;
IBOutlet NSTextField *password;
// IBOutlet NSTextField *secret;
IBOutlet NSWindow *window;
LoginClass * LoginClass;
}
- (IBAction)connect:(id)sender;
De implementatie van Connect heb ik in IB gekoppeld aan een button, en die wordt dus perfect uitgevoered wanneer er op de knop geklikt wordt. De code in de Connect ziet er ongeveer als volgt uit :
- (IBAction)connect:(id)sender
{
// Create an instance of our LoginClass
LoginClass = [[LoginClass alloc] initWithLogin:[userName stringValue] password:[password stringValue]];
// Now that we have our LoginClass we can start to work with it.
[LoginClass logIn];
...
}
In de logIn code van mijn class vull ik de secret property op met een dummy string, ook dat werkt perfect.
Waar ik echter niet in slaag is om de Value van een Label in IB te binden aan de secret property van mijn LoginClass. Ik heb nu reeds vanalles geprobeerd zonder succes.
Een object toevoegen in IB voor mijn LoginClass en de value dan binden aan de secret key van dat object lukt niet (geen errors, maar waarde wordt niet weergegeven, text van de label is leeg).
Ook reeds geprobeerd aan de hand van de AppController met de LoginClass.secret key, maar zelfde resultaat (geen dus).
Ik vermoed dat ik ergens iets verkeerd doe, of ergens iets over het hoofd zie, maar ik zie niet onmiddellijk wat, dus hoop ik dat iemand mij hier misschien in de juiste richting kan wijzen.
Met dank bij voorbaat,
Stefaan