无法将Int类型的返回表达式转换为Int

时间:2017-02-20 12:59:24

标签: swift

我想知道为什么这不起作用:

func removingOnce (_ item: Int, from array:[Int]) -> [Int]{


var intToReturn :Int?
intToReturn = 0

for ob in array5{

    if (ob == item){
     intToReturn = item
    }
}

return intToReturn
}

它警告我错误:无法将Int类型的表达式转换为返回类型Int。

根本没有意义

3 个答案:

答案 0 :(得分:1)

试试这个

[] menas数组

func removingOnce (_ item: Int, from array:[Int]) -> Int{


var intToReturn :Int?
intToReturn = 0

for ob in array5{

    if (ob == item){
     intToReturn = item
    }
}

return intToReturn
}

答案 1 :(得分:1)

这是我认为这种方法的最佳解决方案:

Query query=session.createQuery("from mytable mt WHERE mt.key='abcd' AND mt.id=111 ORDER By mt.rank ASC")
                .setFirstResult(20)
                .setMaxResults(10);

问题在于返回值。你想返回Int并在函数中返回一个Ints数组。

答案 2 :(得分:1)

警告显示

  

无法将Int类型的表达式转换为返回类型[Int]

而不是你说的那样。 (我在游乐场测试过它)

错误的原因是你返回一个Int值ComboBox,但是根据方法定义,它应该返回一个Ints数组intToReturn

将返回值更改为生成的Int数组,或将方法定义中的返回类型更改为->[Int]

此外,您将->Int?声明为可选的Int值。 intToReturn但在此之后,您为其分配一个值,它将永远不会为零。相反:

(Int?)