2009-05-10 21 views
8

aşağıdaki ViewController sınıfınıNeden "bir nesneyi bir yönteme parametre olarak kullanamaz"? Method1 için (id) gönderen: (UITextField) gönderen, ben "bir yönteme parametre olarak bir nesne kullanılamaz" hatası alıyorum ben method1 değiştirdiğinizde

#import <UIKit/UIKit.h> 

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

@property (nonatomic, retain) UITextField *field1; 

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

var.

Aranan ve "Objective-C statik nesne tahsis izin vermez çünkü Objective-C iyi bir fikir değildir [bir yöntem parametresi olarak bir nesneyi kullanan] " diyor this post bulundu.

Bunun için daha ayrıntılı bir açıklama bulabileceğimi kimse işaret edebilir mi?

Teşekkür ederiz.

cevap

20

UITextField işaretçisini geçemiyorsunuz.

method1:(UITextField)sender 

nesne türleri için olmayan işaretçileri geçerken

method1:(UITextField *)sender 

Objective-C hoşlanmıyor olmalıdır.

+0

İlginç bir şekilde, nesne yerine bir yapı ise iletebilirsiniz – Casebash

İlgili konular