簡體   English   中英

嘗試趕上Swift 2.0

[英]try and catch swift 2.0

我不明白為什么我必須使用try and catch來完成這樣的任務: 一

另外,如果我把事情放進do ... while塊,我會得到這個:

二

當您要處理錯誤時,只需使用do / catch結構。 但是,如果您確定自己的代碼不會給您任何錯誤,則可以使用try取消錯誤傳播!

let habitsOfDay = try! Realm().objects(Habit).filter("durationByDays_days contains %@", daySelected) 

您可以在Apple文檔中找到有關處理錯誤的更多信息: https : //developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html

  1. 如果您不想捕獲可能的異常,則應標記該函數會將它們扔給調用方。 您在第二個示例(關鍵字throws )中做到了,但在第一個示例中卻沒有做到。

  2. 函數應該返回Results<Habit>但不會。 您在第一個樣本中有return habitsOfDay ,但在第二個樣本中沒有。

嘗試使用Guard語句。

guard let habitsOfDay = Realm().objects(Habit).filter("durationByDays_days contains %@", daySelected) else {return}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM