gpt4 book ai didi

ios - fatal error : unexpectedly found nil while unwrapping an Optional value using cloudkit

转载 作者:行者123 更新时间:2023-11-28 13:16:51 28 4
gpt4 key购买 nike

我不断收到以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value 

我想我只是不明白为什么。有人可以帮我找到我的错误吗?可变结果是可选的吗?

错误一直指向viewDidLoad()中的一行,我注释的地方。谢谢。

//
// ViewController.swift
// Physics Help!
//
// Created by Sam Hanson on 2/8/15.
// Copyright (c) 2015 Sam Hanson. All rights reserved.
//


import UIKit
import CloudKit

class ViewController: UIViewController {

//VARIABLES********************************************************

@IBOutlet var c1Answer: UILabel!
@IBOutlet var questions: UILabel!
var resultsOfDB : String = ""
var indexes : [Int] = []
var counter : Int = 0
var newStr : String = ""

//*****************************************************************




override func viewDidLoad() {

super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

self.questions.text = String(getNewQbutton()) //error points to here*********

}


//load the answers, grab them from the cloud base
@IBAction func loadAnswers() {
let container = CKContainer.defaultContainer()
var publicDB = container.publicCloudDatabase

let myQuery = CKQuery(recordType: "QuestionsTable", predicate: NSPredicate(value: true))

publicDB.performQuery(myQuery, inZoneWithID: nil){
results, error in

if error != nil {
println(error)
}

else
{

dispatch_async(dispatch_get_main_queue(), { () -> Void in

self.c1Answer.text = results.description
println(results.description)

})
}
}

}




@IBAction func getNewQbutton() {

let container = CKContainer.defaultContainer()
var publicDB = container.publicCloudDatabase


let myQuery = CKQuery(recordType: "QuestionsTable", predicate: NSPredicate(value: true))


publicDB.performQuery(myQuery, inZoneWithID: nil){
results, error in

if error != nil {
println(error)
}

else
{

dispatch_async(dispatch_get_main_queue(), { () -> Void in

self.resultsOfDB = results.description

//for each character in resultsOfDB
for character in self.resultsOfDB{

if(character == "\""){
self.indexes.append(self.counter)

}
self.counter++
}

self.newStr = self.resultsOfDB.substringWithRange(Range<String.Index>(start: advance(self.resultsOfDB.startIndex, self.indexes[0] + 1), end: advance(self.resultsOfDB.endIndex, -(self.counter - self.indexes[1]))))

self.questions.text = self.newStr
})
}
self.counter = 0
}

}

最佳答案

这个问题可能有两个原因:

1.这可能意味着您正在尝试调用未初始化的对象 (questions?) 的函数 (text?)。

我的猜测是 questions 没有被初始化。因此,当您调用 questions.text 时,您是在 nil socket 上调用 text 函数。

确保您的导出问题在 Storyboard中正确连接(您应该在您的@IBOutlet 附近看到一个圆圈)。另外,请确保您没有设置到 socket 的多个连接。

2.您的函数 getNewQbutton 是一个不返回任何内容的 @IBAction。所以语句 String(getNewQbutton()) 没有多大意义。由于您的函数 getNewQbutton 没有返回类型(并且是一个 @IBOutlet),您可能将 nil 赋给了 String()。这可能是这个问题的第二个原因。

关于ios - fatal error : unexpectedly found nil while unwrapping an Optional value using cloudkit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28681991/

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