Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 无法转换类型为';Int';到预期的参数类型'@noescape(Int?)抛出->;布尔';_Arrays_Swift_Swift2 - Fatal编程技术网

Arrays 无法转换类型为';Int';到预期的参数类型'@noescape(Int?)抛出->;布尔';

Arrays 无法转换类型为';Int';到预期的参数类型'@noescape(Int?)抛出->;布尔';,arrays,swift,swift2,Arrays,Swift,Swift2,我想检查smallestar是否包含-1,如果它至少包含一个-1,则调用placeBlocks。我需要继续调用PlaceBlock,直到数组填满,这意味着他们输掉了比赛 我收到的错误是 无法将“Int”类型的值转换为预期的参数类型 “@noescape(Int?)抛出->Bool” 尝试将[Int?]更改为[Int](非可选数组成员) 请注意,来自SO线程的karthik:s回答建议您切换到使用-1,而不是将nil作为“非赋值”。如果使用该方法,则没有理由选择smallestar:使用[Int]

我想检查
smallestar
是否包含-1,如果它至少包含一个-1,则调用placeBlocks。我需要继续调用PlaceBlock,直到数组填满,这意味着他们输掉了比赛

我收到的错误是

无法将“Int”类型的值转换为预期的参数类型 “@noescape(Int?)抛出->Bool”


尝试将
[Int?]
更改为
[Int]
(非可选数组成员)

请注意,来自SO线程的karthik:s回答建议您切换到使用
-1
,而不是将
nil
作为“非赋值”。如果使用该方法,则没有理由选择
smallestar
:使用
[Int]
而不是
[Int?]


离题:还要注意,在其当前形式中,此闭包可能最终成为一个无限循环(因此可能应该将
smallestar
传递给peaceBlocks,以便将
-1
项翻转为其他值?).

如果您有一个可选整数数组,那么与您上一个问题的答案相同的解决方案适用于这里。使用
[Int]
数组,
smallestar.contains(-1)
也可以。@MartinR您是对的,当我在操场上尝试时一定犯了一些错误(我觉得很奇怪,因为我12分钟前证实了事实并非如此!)。谢谢。@Martinar有人在我写我的答案时发布了一个答案,这是正确的(但后来被删除了?),但是,由于我错误的游乐场冒险,我认为我正在写的那本不同。是你吗?在这种情况下,我会删除这本,你可以取消删除你的。@Martiner好的。哦,那我就去睡觉了。再次感谢你的评论。
var smallestArr = [Int?](count: 25, repeatedValue: -1)

while smallestArr.contains(-1){
    placeBlocks()
}
var smallestArr = [Int](count: 25, repeatedValue: -1)
while (smallestArr.contains(-1)) {
    placeBlocks()
}