Ios Swift错误还是编码错误?对于结构中的循环
因此,我正在尝试制作一个iOS应用程序,作为练习,它可以检查输入字段中的素数。我对代码进行了重构,使其具有专门用于计算函数(如iPrime)的结构。由于某些原因,当我的For循环位于结构中时,它不能正常工作。如果我把它重构回控制器,它就会工作Ios Swift错误还是编码错误?对于结构中的循环,ios,iphone,swift,for-loop,struct,Ios,Iphone,Swift,For Loop,Struct,因此,我正在尝试制作一个iOS应用程序,作为练习,它可以检查输入字段中的素数。我对代码进行了重构,使其具有专门用于计算函数(如iPrime)的结构。由于某些原因,当我的For循环位于结构中时,它不能正常工作。如果我把它重构回控制器,它就会工作 func isPrime(number:Int) -> Bool{ let start = 2 for var i = number-1; i > 1; i-- { if (number % i == 0){
func isPrime(number:Int) -> Bool{
let start = 2
for var i = number-1; i > 1; i-- {
if (number % i == 0){
return true
}
}
return false
}
调试器thingy返回以下输入:
在文本字段中键入12
数字=12 i=14070095816392014214
为什么for循环中的变量i这么大?我还测试了在函数中放入一个杂散变量,它也会执行相同的操作(例如:start_int=142141241232423)?您是否尝试在函数中打印数字变量的值 你的逻辑似乎颠倒了。如果一个数x可被另一个小于x的数整除,那么x不是素数。如果x是可除的,则返回true。这应该是假的