Xcode Objective-C错误:预期的标识符

时间:2018-10-04 20:54:14

标签: objective-c xcode

我的Xcode代码有问题。 我正在获取'Expected identifier或'(',并且通过查看有关该主题的其他帖子,我可能错过了一些愚蠢的东西,这看起来像是我的方括号有问题。 这是我的ViewController.m文件。

#import "ViewController.h"
#import "AppDelegate.h"
#import <UIKit/UIKit.h>

@interface UIViewController ()

@end

@implementation UIViewController

@end

@implementation AppDelegate.h {.  //I'm getting "Expected identifier or '('" here

- (IBAction)enterPassword
enterPassword.enabled = NO;

}
{
    NSString *passwordString = [NSString stringWithFormat:@"1234"];
    if ([passwordField.text isEqualToString:passwordString]) {
        UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Correct password" message:@"This password is correct." preferredStyle:UIAlertControllerStyleAlert];


} else {
    UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Incorrect password" message:@"This password is incorrect." preferredStyle:UIAlertControllerStyleAlert];
    enterPassword.delegate = self;
    enterPassword.enabled = NO;
}

}

@end

谢谢

编辑: 我正在为我的IBOutlet和IBActions的passwordField和enterPassword获取“使用未声明的标识符”。我该如何解决?我已附上一张图像,以显示错误在哪里,因为其中有一些错误。 Image

第二次编辑: 添加了自己的前缀 enter image description here enter image description here

1 个答案:

答案 0 :(得分:-1)

@implementation@end之间的位不需要括号。这些关键字完全定义了类的实现范围。实际上,整个过程中都有很多语法错误。

此外,UIViewController类的重新声明也将导致错误。您根本不需要声明它;导入UIKit会找到它。

距离更近(但我也没有尝试编译它):

@implementation AppDelegate

- (IBAction)enterPassword
{

enterPassword.enabled = NO;

    NSString *passwordString = [NSString stringWithFormat:@"1234"];
    if ([passwordField.text isEqualToString:passwordString]) {
        UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Correct password" message:@"This password is correct." preferredStyle:UIAlertControllerStyleAlert];


} else {
    UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Incorrect password" message:@"This password is incorrect." preferredStyle:UIAlertControllerStyleAlert];
    enterPassword.delegate = self;
    enterPassword.enabled = NO;
}
}    
@end