2016-01-31 17 views
0

我的程序有多個do-try-catch條款,但我使用相同的catch函數全部通過,我怎麼能把它分解出來?保理條款在try catch

func tryCatch1 { 
    do{ 
    try something.save 
    }catch let error as UserError{ 
    print(error.description) 
    } 
} 


// Another try catch 

func tryCatch2 { 

     do{ 
     try somethingAgain.save 
     }catch let error as UserError{ 
     print(error.description) 
     } 
} 

是否有可能創造這樣「全民捉」

+0

爲什麼抓在低級別的功能?只需拋出異常。通常情況下,最好能在最高層面上發現異常 – Paulw11

+0

@ Paulw11能否進一步解釋? –

+0

使用try/catch這種方式是毫無意義的,不是嗎?如果你沒有做一些有用的事情,你不妨試試!至少用戶注意到有什麼不對。 – gnasher729

回答

1

如果你發現自己一次又一次輸入相同的樣板代碼,您可能希望創建一個Xcode「代碼片段「,你用一個簡單的字符序列調用。

在Xcode中,打開右側的「Utilities」面板(您可以使用右上角的三個小方形圖標中的最後一個)。

下面是通常選取UI對象的部分:點擊名爲「顯示代碼片段庫」的{ }圖標。您現在可以看到預製片段列表。

爲了使你的,請在Xcode中的代碼,用鼠標,完全與壓痕:

do { 

} catch let error as UserError { 
    print(error.description) 
} 

然後阻力所選代碼的片段部分(你可以按住Alt(選項)當拖動視覺幫助時鍵)

片段部分突出顯示:刪除選擇,它會在底部創建一個新片段。

一下就可以了,點擊編輯:使自己的標題,描述,快捷方式等

現在每次在你的代碼,在選定的範圍內,當你鍵入該快捷方式,它是由片段取代。

如果我的代碼片段有一個「dtc」的快捷方式(只是一個例子,選擇一些不會干擾你的代碼或Swift關鍵字的東西),我只需鍵入「dtc」並將「dtc」替換爲整體Do-Try-Catch塊來自片段。

enter image description here

+0

謝謝,這是一個非常方便的技巧!但爲什麼要保持「Alt」,即使我沒有握住ALT,我的工作,只需點擊並拖動。 –

+0

不客氣。你說得對,ALT不是強制性的,我只是想強制執行它,因爲它將鼠標光標從選擇器改變爲十字符號 - 我發現它有助於拖動文本。 – Moritz