2009-05-10 25 views
8

Mam następujące klasy ViewControllerDlaczego "nie można użyć obiektu jako parametru do metody"?

#import <UIKit/UIKit.h> 

@interface SampleViewController : UIViewController { 
    IBOutlet UITextField *field1; 
} 

@property (nonatomic, retain) UITextField *field1; 

- (IBAction) method1:(id)sender; 
@end 

Kiedy zmienić method1: (id) nadawcy do method1: (UITextField) nadawca, pojawia się błąd „Nie można użyć obiektu jako parametr do metody”.

Szukałem i znalazłem this post który mówi „to [za pomocą obiektu jako parametr metody] nie jest dobrym pomysłem w Objective-C, ponieważ Objective-C nie zezwala na statycznie przypisane obiekt”.

Czy ktoś może wskazać, gdzie mogę znaleźć bardziej szczegółowe wyjaśnienie tego?

Dziękuję.

Odpowiedz

20

Nie podajesz wskaźnika UITextField.

method1:(UITextField)sender 

powinny być

method1:(UITextField *)sender 

Objective-C nie lubi kiedy przechodzą niebędące wskazówek dla typów obiektów.

+0

Co ciekawe, można go przekazać, jeśli jest to struktura, a nie obiekt – Casebash

Powiązane problemy