如果显示图片A,则必须输入文本A,否则LABEL表示错误

0 if-statement objective-c ios

我很抱歉,如果这对你来说似乎很愚蠢,但我需要帮助创建这样的东西:

如果图片A显示在UIImageView中,则UITextfield必须是PictureA-description.

所以我们假设显示了美国国旗的图片.用户需要进入美国才能进入下一个视图,否则UILabel会说"错误".

当我尝试:

@implementation ViewController

 -(IBAction)ButtonTouched:(id)sender
 {
     [self.inputfield resignFirstResponder];

     if (_inputfield.text isEqualtoString @"USA") //BUT IT SAYS PARSE ISSUE EXPECTED')'
{
    __errorlabel.text = @"Correct";
    sleep(1);
    [self performSegueWithIdentifier:@"Correct1" sender:self];
}

else
{
            __errorlabel.text = @"Wrong Answer";


}

 }

 - (void)viewDidLoad
  {
      [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
  }

 - (void)didReceiveMemoryWarning
 {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
 }

  @end
Run Code Online (Sandbox Code Playgroud)

我能做什么?

Vol*_*ker 5

这条线

if (_inputfield.text isEqualtoString @"USA")
Run Code Online (Sandbox Code Playgroud)

拼写/打字是完全错误的.肯定是

if ([_inputfield.text isEqualToString:@"USA"])
Run Code Online (Sandbox Code Playgroud)

或更好

if ([self.inputfield.text isEqualToString:@"USA"])
Run Code Online (Sandbox Code Playgroud)

并且正如Jeremy所建议的一个不区分大小写的例子:

if ([[self.inputfield.text uppercaseString] isEqualToString:@"USA"])
Run Code Online (Sandbox Code Playgroud)

要么

if (NSOrderedSame == [self.inputfield.text caseInsensitiveCompare:@"USA"]) 
Run Code Online (Sandbox Code Playgroud)

你一定要深入研究Objective-c基础知识!这里有一个很好的起点.有关NSString的更多信息,请点击此处.