gpt4 book ai didi

ios - 解包 Optional 值时意外发现 nil

转载 作者:行者123 更新时间:2023-11-28 07:02:36 25 4
gpt4 key购买 nike

我正在尝试实现一个投票按钮,以便用户可以对帖子进行投票。类似功能的东西。为此,我在单元格 View Controller 中使用了一个 IB 操作,如下所示

@IBAction func vote(sender: AnyObject) {

if (parseObject != nil) {
if var votes:Int? = parseObject!.objectForKey("votes") as? Int {
votes!++

parseObject!.setObject(votes!, forKey: "votes")
parseObject!.saveInBackgroundWithTarget(nil, selector: nil)

votesLabel?.text = "\(votes!) votes"
}

然后我将下面的代码放在 Collection View Controller 中,如果列中没有任何内容,标签将显示 0。

     if var votes:Int? = parseObject!.objectForKey("votes") as? Int {
if votes == nil{
votes = 0}
cell.votesLabel?.text = "\(votes!) votes"
}
return cell
}

我的代码没有错误,但是一旦我构建应用程序,它就会说在展开指向突出显示代码的可选值时意外发现 nil。我的实现方式是错误的吗?谢谢。

最佳答案

您可以尝试可选链接,而不是强制解包。所以整个表达式将返回 nil 而不是抛出错误。

如果 var 投票:Int? = parseObject?.objectForKey("votes") 作为?整数 {

编辑

让 Swift 推断变量的类型也是一个更好的做法,所以:

如果 var votes = parseObject?.objectForKey("votes") as?整数 {

关于ios - 解包 Optional 值时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31692200/

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