gpt4 book ai didi

swift - "Operand of postfix ' ! ' should have optional type; type is ' CGVector '"

转载 作者:可可西里 更新时间:2023-11-01 00:53:42 24 4
gpt4 key购买 nike

我在 Swift 中使用 Xcode 6 时收到错误消息“Operand of postfix '!'应该有可选类型;类型是“CGVector””在我的代码中说我必须删除一个!但是,当我这样做时,出现错误“可选类型‘CGVector 的值?’”未展开;您是否打算使用“!”或者 '?'?”这迫使我再次添加它。

我不确定该怎么做,这是产生错误的行,问题出在属性“velocity”上:

if(Utils.getNetVec(physicsBody?.velocity!, gravity: gravity, signs: true).dy > CGFloat(0)) {

我怎样才能解决这个问题?

最佳答案

如果你在 physicsBody?.velocity 两边加上括号,那么它就可以工作

if(Utils.getNetVec((physicsBody?.velocity)!, gravity: gravity, signs: true).dy > CGFloat(0)) {

这是因为 velocity 本身不是可选的,但它是可选的,因为它是通过可选链接访问的。 optional 需要解包,但仅仅将 ! 放在后面是不够的,因为它绑定(bind)到 velocity。添加括号会导致 ! 应用于可选链接表达式的结果。

关于swift - "Operand of postfix ' ! ' should have optional type; type is ' CGVector '",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com