2009-03-13 4 views
6

Iphone üzerinde Objective-C kullanarak denetleyici içindeki özel sınıf/nesne nasıl başlatılır

#import <UIKit/UIKit.h> 
#import "Widget.h" 

@interface testerViewController : UIViewController { 
    IBOutlet UITextField *stuffField; 
    Widget *widget; 
} 

@property (nonatomic, retain) UITextField *stuffField; 
@property (nonatomic, retain) Widget *widget; 
- (IBAction)buttonPressed:(id)sender; 
@end 

ve:

Öyle gibi basit "model" sınıfı

@implementation Widget 
@synthesize name; 
@synthesize color; 

- (id) init 
{ 
    if (self = [super init]) 
    { 
     self.name = @"Default Name"; 
     self.color = @"brown"; 
    } 
    return self; 
} 

@end 

ben gibi benim denetleyicisine bir dahili eleman olarak ilan ettik böylece (tabii yapıcısı ile tamamlamak) var benim textfield kadar boş geliyor her zaman çünkü benim nesne başlatılıyor olması görünmüyor

#import "testerViewController.h" 
@implementation testerViewController 
@synthesize stuffField; 
@synthesize widget; 

- (IBAction)buttonPressed:(id)sender 
{ 
    stuffField.text = widget.name; 
} 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
     widget = [[Widget alloc] init]; 
    } 
    return self; 
} 

ama ..: ... Ben şöyle benim denetleyicisi içinde bunu başlatmak çalışıyorum. Herhangi bir ipucu var mı?

+0

Düğme üzerinde bir kesme noktası ekleyin Sıkıştırılmış: gerçekte arandığından emin olun. Oradayken widget'ın üzerine gelin veya değerini kontrol edebilirsiniz. – freespace

+0

Görsel stüdyolog hata ayıklayıcıları için biraz fazla kullanıyorum :(... hata ayıklayıcıdaki özellikleri çaprazladığımda ben mi yoksa onaltılık değerler mi? – DaveJustDave

cevap

4

deneyin kullanmak

- (void) viewDidLoad {} yöntem verilerinizi "Widget.h"

ve yerine alma işlemi arasında Widget @class arayüz sınıfı kullanımda

initiliaze için uygulama sınıfınız #import "Widget.h"

'u kullanın ve düğmelerinize geldiğinizden emin olun!

İlgili konular