Swift错误:二进制运算符==不能应用于类型'_';和';Int';
我是Swift的新手,我正在尝试构建一个简单的程序,根据用户的年龄告诉他们出生在中国日历的哪一年Swift错误:二进制运算符==不能应用于类型'_';和';Int';,swift,Swift,我是Swift的新手,我正在尝试构建一个简单的程序,根据用户的年龄告诉他们出生在中国日历的哪一年 var string1 = "You are year of the" let age:Int? = Int(ageField.text!) if age <= 12 { let remainder = age! } else { let remainder = age! % 12 } if remainder
var string1 = "You are year of the"
let age:Int? = Int(ageField.text!)
if age <= 12 {
let remainder = age!
} else {
let remainder = age! % 12
}
if remainder == 0 {
string1 += " sheep."
}; if remainder == 1 {
string1 += " horse."
}; if remainder == 2 {
string1 += " snake."
}; if remainder == 3 { // And so on and so forth...
var string1=“你们是一年”
let age:Int?=Int(ageField.text!)
如果年龄变量/常量余数应在if
构造之外声明,并且您还可以删除代码中的“;”字符。Swift不需要在指令末尾使用“;”,如objective-c变量/常数余数
应在if
构造之外声明,您也可以删除代码中的“;”字符。Swift不需要像objective-c那样在指令末尾加“;”作为Alessandro答案的摘要和优化代码的注释
var string1 = "You are year of the"
if let age = Int(ageField.text!) {
let remainder = age % 12
if remainder == 0 {
string1 += " sheep."
} else if remainder == 1 {
string1 += " horse."
} else if remainder == 2 {
string1 += " snake."
} // And so on and so forth...
} else {
print("please enter a number")
}
或者使用开关
语句稍微“快一点”
var string1 = "You are year of the "
if let age = Int(ageField.text!) {
switch age % 12 {
case 0: string1 += "sheep."
case 1: string1 += "horse."
case 2: string1 += "snake."
// And so on and so forth...
}
} else {
print("please enter a number")
}
附:事实上,羊是山羊;-) 作为Alessandro答案和您优化代码的注释的总结
var string1 = "You are year of the"
if let age = Int(ageField.text!) {
let remainder = age % 12
if remainder == 0 {
string1 += " sheep."
} else if remainder == 1 {
string1 += " horse."
} else if remainder == 2 {
string1 += " snake."
} // And so on and so forth...
} else {
print("please enter a number")
}
或者使用开关
语句稍微“快一点”
var string1 = "You are year of the "
if let age = Int(ageField.text!) {
switch age % 12 {
case 0: string1 += "sheep."
case 1: string1 += "horse."
case 2: string1 += "snake."
// And so on and so forth...
}
} else {
print("please enter a number")
}
附:事实上,羊是山羊;-) 假设年龄您需要测试年龄是否为nil
let age:Int=Int(ageField.text!)
whereageField.text
==“Grimxn”将导致您以后的作业崩溃(一旦编译)-请参阅下面@AlessandroChiarotto的答案。假设age您需要测试age
是否为nil
let age:Int=Int(ageField.text!)
whereageField.text
==“Grimxn”将导致您以后的作业崩溃(编译完成后)-请参阅下面@AlessandroChiarotto的答案。