I can't figure how to fix this Expected identi

2019-03-07 01:42发布

问题:

- (IBAction)SignUp:(id)sender;  {                                   Expected identifier or '('

    IBOutlet UITextField *Firstnamefield;
    IBOutlet UITextField *Lastnamefield;
    IBOutlet UITextField *emailfield;
    IBOutlet UITextField *agefield;
    IBOutlet UITextField *passwordfield:
    IBOutlet UITextField *reenterpasswordfield;
}

回答1:

- (IBAction)SignUp:(id)sender {
   UITextField *Firstnamefield;
   UITextField *Lastnamefield;
   UITextField *emailfield;
   UITextField *agefield;
   UITextField *passwordfield;
   UITextField *reenterpasswordfield;
}

There a couple of problems. For one, you can not use the IBOutlet qualifier outside of an interface declaration. And passwordfield has a colon after it that should be a semicolon.

In case this is the point of confusion, if you were creating the interface declaration for this IBAction, it would look like this:

- (IBAction)SignUp:(id)sender;

Other than that, the only other thing that could be causing this is if you are trying to place the entire IBAction inside the header file.



回答2:

It seems to me that you put an IBAction at the wrong place in the .h file. It should be after the definition of the instance variables, for example:

@interface ViewController : UIViewController
{
    IBOutlet UITextField *Firstnamefield;
    IBOutlet UITextField *Lastnamefield; 
    // ...
}
- (IBAction)SignUp:(id)sender;

@end