0

Parse Issue Expected Statement只有在尝试archive我的 XCode 项目时才会出现错误。当我定期构建它而不是存档时,我没有收到此错误并且应用程序运行良好。

    -(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.navigationController.navigationBarHidden = YES;

    if ([[[NSUserDefaults standardUserDefaults] objectForKey:SavedUsername] length] && [[[NSUserDefaults standardUserDefaults] objectForKey:SavedPassword] length]) {
        [self.btnRememberMe setSelected:YES];
        self.isButtonSelected = YES;
        self.txtFieldUsername.text = [[NSUserDefaults standardUserDefaults] objectForKey:SavedUsername];
        self.txtFieldPassword.text = [[NSUserDefaults standardUserDefaults] objectForKey:SavedPassword];

//        NSLog(@"username = %@ , pass = %@",[[NSUserDefaults standardUserDefaults] objectForKey:SavedUsername], [[NSUserDefaults standardUserDefaults] objectForKey:SavedPassword]);
        if ([self isAllFieldVerified])
            #ifdef DEBUG
                NSLog(@"all fields are verified");
            #endif
            //[self makeWebAPICallMethodCalling];
    }else {
        [self.btnRememberMe setSelected:NO];
        self.isButtonSelected = YES;
        self.txtFieldUsername.text = @"";
        self.txtFieldPassword.text = @"";
    }


}

解析器错误由该else行引发...

4

1 回答 1

2

问题是你#ifdefNSLog陈述。当您进行非调试构建时,该NSLog行不存在留下if没有代码的语句。

试试这个:

#ifdef DEBUG
    if ([self isAllFieldVerified])
        NSLog(@"all fields are verified");
#endif

或至少添加花括号:

    if ([self isAllFieldVerified]) {
        #ifdef DEBUG
            NSLog(@"all fields are verified");
        #endif
    }

这是一个为什么使用花括号总是一个好主意的例子,即使只有一行。

于 2014-07-21T18:58:33.433 回答