gpt4 book ai didi

ios - performSegueWithIdentifier - 无法将类型 'AnyObject' 的值转换为参数类型 'AnyObject?'

转载 作者:搜寻专家 更新时间:2023-11-01 07:22:11 24 4
gpt4 key购买 nike

我正在尝试使用 performSegueWithIdentifier 将一些字符串数据传递给 View Controller ,但我收到此错误 Cannot convert value of type 'AnyObject?'. Type(Aka'Optional<AnyObject>.Type) to expected argument type 'AnyObject?'即使我使用 sender:self , 它仍然不起作用。在 Storyboard中,通过将 segue 从第一个 View Controller 拖到第二个 View Controller 来创建 segue。

@IBAction func resetPassword(sender: AnyObject) {



FIRAuth.auth()?.sendPasswordResetWithEmail(emailTextField.text!, completion: { (error) in

var customError = error?.localizedDescription

if error == nil {

let noError = "Click on the link received in the email"
self.emailTextField.text = ""
self.emailTextField.attributedPlaceholder = NSAttributedString(string: noError, attributes:[NSForegroundColorAttributeName: UIColor.blueColor()])
self.customErroSent = noError

performSegueWithIdentifier("fromSeventhToFifth", sender: AnyObject?)

//self.resetButtonOutlet.hidden = true
// self.emailTextField.hidden = true

} else {


self.emailTextField.text = ""
self.emailTextField.attributedPlaceholder = NSAttributedString(string:customError!, attributes:[NSForegroundColorAttributeName: UIColor.redColor()])
}
})
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "fromSeventhToFifth" {
if let destViewController = segue.destinationViewController as? FifthViewController {
destViewController.label.text = customErroSent


}
}
}
}

最佳答案

sender 参数的类型是 AnyObject? - 因此您可以提供任何对象引用或 nil,但您不能将 AnyObject? 因为那是一个类型,而不是一个对象。

进行此更改时遇到的错误,在闭包中隐式使用“self”,是指函数 performSegueWithIdentifier 的调用,而不是 sender 参数。

由于您是从闭包中调用函数,Swift 需要确保闭包捕获 self 即防止它在闭包仍然存在时被释放。

在闭包之外,这个捕获是不必要的,因为 self 引用的对象已经被释放,代码无法执行(代码是 self).

要捕获self,只需在闭包中引用它:

self.performSegueWithIdentifier("fromSeventhToFifth", sender: self)

self.performSegueWithIdentifier("fromSeventhToFifth", sender: nil)

关于ios - performSegueWithIdentifier - 无法将类型 'AnyObject' 的值转换为参数类型 'AnyObject?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38235478/

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