dropsFound += hitVIEw
给出错误'[(UIVIEw)]’与’UInt8’不同
这是方法的一部分.请注意,从Xcode 6 beta 5开始,hitTest现在返回一个可选项,因此有必要说
hitVIEw?.supervIEw
代替
hitVIEw.supervIEw
在’if’语句中.
func removeCompletedRows() -> Bool { println(__FUNCTION__) var dropsToRemove = [UIVIEw]() for var y = gameVIEw.bounds.size.height - DROP_SIZE.height / 2; y > 0; y -= DROP_SIZE.height { var rowIsComplete = true var dropsFound = [UIVIEw]() for var x = DROP_SIZE.wIDth / 2; x <= gameVIEw.bounds.size.wIDth - DROP_SIZE.wIDth / 2; x += DROP_SIZE.wIDth { let hitVIEw = gameVIEw.hitTest(CGPointMake(x,y),withEvent: nil) if hitVIEw?.supervIEw === gameVIEw { dropsFound += hitVIEw } else { rowIsComplete = false break } }
…省略了方法的其余部分
解决方法@H_404_22@ 这在上一版本中发生了变化.从beta 5发行说明:The
+=
operator on arrays only concatenates arrays,it does not append an element. This resolves ambiguity working withAny
,AnyObject
and related types.
因此,如果=的左侧是一个数组,那么现在必须也是.
所以:
dropsFound.append(hitVIEw)
或者,如果你真的想使用=你可能会做:
dropsFound += [hitVIEw]
但那会有点傻.使用追加,如错误消息建议.
总结以上是内存溢出为你收集整理的在Xcode 6 beta 5中使用=时,'[(UIView)]’与’UInt8’不同.请改用append方法?全部内容,希望文章能够帮你解决在Xcode 6 beta 5中使用=时,'[(UIView)]’与’UInt8’不同.请改用append方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)