表达式错误列表中的Swift预期表达式

时间:2016-02-01 00:13:22

标签: ios xcode swift

我正在制作基本的注册表单,并且我在表达式错误列表中得到了多个"预期表达式,"以及一些预期的分隔符错误。我自己尝试修复错误,但我是Swift的新手,并且无法修复它。任何帮助表示赞赏。

<?php 
  if(stripos( $forum_data['venue_url_text'],"discount") == false) 
{
echo '<button class="btn" target="_blank" rel="nofollow"> VISIT VENUE WEBSITE </button>'; 
}
else { 
echo '<button class="btn" target="_blank" rel="nofollow"> VISIT DISCOUNTED VENUE</button>';
}
?>

2 个答案:

答案 0 :(得分:0)

函数displayAlertMessage放在IBAction体内。

它应放在IBAction功能之外。

答案 1 :(得分:0)

错误1:非封闭式parantheses

您在if函数的第一个RegisterButtonTapped语句中错过了一个结束语:

if (((userFullName!.isEmpty || userEmail!.isEmpty 
    || userPassword!.isEmpty || userRepeatPassword.isEmpty)) {

    // Display alert message
    displayMyAlertMessage("All fields are required")

    return
}

左侧三个{1}仅由两个右侧(((完成。在这种情况下,你真的不需要任何一组parantheses,但可以保存一组以便于阅读:

))

错误2:尝试在其他函数中包含函数声明

(由Duy Tran指出)

函数if (userFullName!.isEmpty || userEmail!.isEmpty || userPassword!.isEmpty || userRepeatPassword.isEmpty) { // Display alert message displayMyAlertMessage("All fields are required") return } 位于函数displayAlertMessage(...)内。函数可能只作为方法直接存在于类/结构等中(或作为全局非类所有的函数,例如在游乐场中)。

因此,您应该确保函数RegisterButtonTapped位于函数体displayAlertMessage(...)之外。

一般性评论

您应该避免“强制解包”的可选变量。例如。如果可选的不可变RegisterButtonTapped nil`,userFullName!.isEmpty将导致运行时异常。您应该阅读optionals, optional binding, and so on

另请注意,您不需要在Swift中的行后面放置分号userFullName has value。但是,这样做不会出错: