您好 我收到一个错误,错误信息就像 /IphoneTextFieldViewController.h:13:错误:预期标识符或'('''''''''之前的标记
实际上我没有得到它为什么以这种方式显示,我必须在.h文件中发布代码和行号13({ - 此冒号行显示错误),请帮助我这个
提前致谢
.h文件
#import <UIKit/UIKit.h>
@interface IphoneTextFieldViewController : UIViewController {
IBOutlet UITextField *textField;
IBOutlet UITextField *textField1;
IBOutlet UITextField *textField2;
NSString *String;
}
@property(nonatomic, retain)IBOutlet UITextField *textField;
@property(nonatomic, retain)IBOutlet UITextField *textField1;
@property(nonatomic, retain)IBOutlet UITextField *textField2;
@property(nonatomic, retain)IBOutlet NSString *String;
-(IBAction)changrGreeting;
{ 13: error: expected identifier or '(' before '{' token
self.String=textField.text;
NSString *nameString=String;
self.String=textField1.text;
NSString *nameString1=String;
if ([nameString length]== 0)
{
nameString = @" ";
}
if([nameString1 length]== 0)
{
nameString1=@" ";
}
textField2.text=[NSString stringWithFormat:@"%@ %@",textField.text,textField1.text];
}
@end
.m文件
//
// IphoneTextFieldViewController.m
// IphoneTextField
//
// Created by Span on 1/31/11.
// Copyright __MyCompanyName__ 2011. All rights reserved.
//
#import "IphoneTextFieldViewController.h"
#import "IphoneTextFieldAppDelegate.h"
@implementation IphoneTextFieldViewController
@synthesize textField;
@synthesize textField1;
@synthesize textField2;
@synthesize String;
-(IBAction)changrGreeting;
{
self.String=textField.text;
NSString *nameString=String;
self.String=textField1.text;
NSString *nameString1=String;
if([nameString length]==0)
{
nameString=@" ";
}
if([nameString1 length]==0)
{
nameString1=@" ";
}
textField2.text=[NSString stringWithFormat:@" %@ %@",textField.text,textField1.text];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[textField resignFirstResponder];
[textField1 resignFirstResponder];
[super touchesBegan:touches withEvent:event];
}
/*
// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
// Custom initialization
}
return self;
}
*/
/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[textField release];
[textField1 release];
[textField2 release];
[String release];
[super dealloc];
}
@end
答案 0 :(得分:5)
.h文件必须看起来像
#import <UIKit/UIKit.h>
@interface IphoneTextFieldViewController : UIViewController {
IBOutlet UITextField *textField;
IBOutlet UITextField *textField1;
IBOutlet UITextField *textField2;
NSString *String;
}
@property(nonatomic, retain)IBOutlet UITextField *textField;
@property(nonatomic, retain)IBOutlet UITextField *textField1;
@property(nonatomic, retain)IBOutlet UITextField *textField2;
@property(nonatomic, retain)IBOutlet NSString *String;
-(IBAction)changrGreeting;
和.m
-(IBAction)changrGreeting
{
self.String=textField.text;
NSString *nameString=String;
self.String=textField1.text;
NSString *nameString1=String;
if([nameString length]==0)
{
nameString=@" ";
}
if([nameString1 length]==0)
{
nameString1=@" ";
}
textField2.text=[NSString stringWithFormat:@" %@ %@",textField.text,textField1.text];
}
答案 1 :(得分:3)
删除;在{...
之前应该是
-(IBAction)changrGreeting{
其次从界面中删除方法定义...只需保留方法声明...
干杯
答案 2 :(得分:2)
为什么你的界面(.h)有实现?
{
self.String=textField.text;
NSString *nameString=String;
self.String=textField1.text;
NSString *nameString1=String;
if ([nameString length]== 0)
{
nameString = @" ";
}
if([nameString1 length]== 0)
{
nameString1=@" ";
}
textField2.text=[NSString stringWithFormat:@"%@ %@",textField.text,textField1.text];
}
这不属于那里。删除它。
并删除您的实施中的;
后面的-(IBAction)changrGreeting;
(.m)
答案 3 :(得分:0)
如果您从其他位置复制并粘贴方法名称,也会发生这种情况。例如,当我构建其API的Id喜欢与Apples一致的框架时,我会经常查找有问题的类,只需复制“任务”部分作为起点。这个问题是有些网站,比如Apples文档,会显示EN DASH而不是编译器所期望的连字符。