gpt4 book ai didi

ios - 转换 Controller 动画 - 条件中的变量绑定(bind)需要初始值设定项

转载 作者:行者123 更新时间:2023-11-30 11:53:04 25 4
gpt4 key购买 nike

我正在尝试遵循一个简单的教程来进行从一个 View Controller 到第二个 View Controller 的循环转换。

但是 Xcode 给了我一个教程中没有遇到的错误,并且不知道如何处理它。

Variable binding in a condition requires an initializer error

import UIKit

class CircularTransition: NSObject {

var circle = UIView()

var startingPoint = CGPoint.zero {
didSet {
circle.center = startingPoint
}
}

var circleColor = UIColor.white

var duration = 0.3

enum CircularTransitionMode: Int {
case present, dismiss, pop
}

var transition:CircularTransitionMode = .present
}

extension CircularTransition:UIViewControllerAnimatedTransitioning {
func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
return duration
}

func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
let containerView = transitionContext.containerView

var CircularTransitionMode: CircularTransitionMode
if CircularTransitionMode == .present {
if case let presentedView == transitionContext.view(forKey: UITransitionContextViewKey.to) {

let viewCenter = presentedView.center
let viewSize = presentedView.frame.size

circle = UIView()

}
}
else{

}

}

}

最佳答案

animateTransition 函数存在一些问题。

首先,出现错误的行应该是这样的:

if let presentedView = transitionContext.view(forKey: UITransitionContextViewKey.to) {

因为您不需要大小写检查,并且您尝试分配而不是比较,所以它是 = 而不是 ==。

其次,创建一个 CircularTansitionMode 类型的变量,但不要在此行中为其分配任何内容:

var CircularTransitionMode: CircularTransitionMode

然后立即尝试使用它。

修复您的原始错误将在下一行标记第二个错误,表明它正在使用但未初始化。

您还有很多未使用的变量,但也许您只是没有提供完整的代码。

关于ios - 转换 Controller 动画 - 条件中的变量绑定(bind)需要初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48136271/

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