do-catch

    -1熱度

    3回答

    我想測試一個數組的數量是否大於0,否則關閉當前視圖。 現在我在做這樣的: do { let pets = try self.managedObjectContext.fetch(request) guard pets.count > 0 else { self.dismiss(animated: true, completion: nil) }

    0熱度

    2回答

    我想把一個快速的3 do-catch放在一個函數中,而不是隨時隨地寫在我需要的地方;在這個函數裏我希望返回一個帶有布爾值的tuple,以及一個可選的錯誤。 我試圖從函數返回一個元組和處理的結果我XCTest 不過,我得到一個錯誤說: 初始值設定爲有條件的結合必須有可選的類型,而不是' (Bool,Error?)'(aka'(Bool,Optional)') 我的功能如下; public stati

    0熱度

    1回答

    比方說,這是我們從模型中刪除對象功能: func delete(indexPath: IndexPath) { let managedObject = self.fetchedResultsController.object(at: indexPath) self.managedObjectContext.delete(managedObject) do {

    -3熱度

    1回答

    我已經提出了一些代碼來向我的php腳本發出POST請求,這些腳本放置在我的服務器上。我已經測試過,那部分工作正常。我從服務器返回結果時遇到了問題 - 我以JSON格式獲取它,並在內部do-catch語句中打印 - 它正常。我將返回變量賦值給在do-catch之外聲明並且不是「visible」的變量。讓我告訴我的代碼,這將是更simplier解釋,當你看到代碼: //sending inputs t

    4熱度

    3回答

    我想使用連續的嘗試語句。如果返回錯誤,我想繼續下一個錯誤,否則返回值。 下面的代碼似乎工作得很好,但是我最終會得到一個大的嵌套do catch金字塔。 Swift 3.0中有更智能/更好的方法嗎? do { return try firstThing() } catch { do { return try secondThing() } catch {

    -1熱度

    2回答

    我收到上述錯誤,並試圖通過在do/catch塊中添加來修改此錯誤。出於某種原因,錯誤不會消失。有誰知道這可能是爲什麼? override func viewDidAppear(animated: Bool) { super.viewWillAppear(animated) captureSession = AVCaptureSession() captureSess

    0熱度

    2回答

    我想知道如何使用停留在do-catch語句中的變量。我從網上解析一些JSON並用它填充一個對象,但之後我需要外部的對象來填充UITableView。該功能從哪裏獲得網絡信息: func post(dburl: String, info: String, completionHandler: (NSString?, NSError?) ->()) -> NSURLSessionTask { le

    0熱度

    1回答

    惱人的警告,我用這個方法: public func setCategory(category: String, withOptions options: AVAudioSessionCategoryOptions) throws 這是一個AVAudioSession方法,你可以看到它不返回任何東西,但它應該拋出和錯誤。 我這樣做: try? AVAudioSession.sharedInsta

    0熱度

    1回答

    我試圖使用JSONDecoder來解碼從我的服務器使用Alamofire json響應。當我用guard解碼響應時,它沒有任何問題。這種方法的副作用是我無法分辨解碼實際上失敗時的問題。 guard let result: TResponseData = try? decoder.decode(TResponseData.self, from: response.data!) else {

    3熱度

    1回答

    /catch語句 我一直想做到這一點: do { let result = try getAThing() } catch { //error } do { let anotherResult = try getAnotherThing(result) //Error - result out of scope } catch { //error