[英]error: expected identifier or '(' before '{' token
嗨,我收到一個錯誤,錯誤消息類似於/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
.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];
}
去除 ; 之前 {...
它應該是
-(IBAction)changrGreeting{
其次,從接口中刪除方法定義...只需保留方法聲明...
干杯
為什么在界面(.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)
如果您從其他地方復制並粘貼方法名稱,也會發生這種情況。 例如,當我在構建其API的ID與Apple一致的框架時,我通常會查找相關的類,並僅復制“任務”部分作為起點。 問題在於,某些站點(例如Apple文檔)將顯示EN DASH而不是編譯器期望的連字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.