print

print

在第一次接觸一個沒學過的程式語言時,我們多半可以看到會以「Hello, world!」作為開頭;
而你第一個所使用的 method,也很有可能就是印出東西相關的。
我在這邊寫的是 print,可能在別的語言並不是這個詞,是 printf 或是 console.log() 之類,
但這邊(或是這整個網站XD)就以 Swift 為主。

NSLog v.s print

有接觸過 iOS 開發的人,你可能也會看過別人使用 NSLog,而這邊就解釋一下兩者的差異:

NSLog

它是屬於 Fundation 的一個 function:

  • 會加上 timestamp
  • 會加上 identifier
  • 會印在 device console
  • 會花較多一些些的效能,所以會比較慢一些(因為前兩者)

print

  • 會印在 debugger console

所以,若你只是需要記錄在 debugger console 的話,則建議就使用 print 就好。

開始使用

為了瞭解程式的執行內容,我們便開始在一些地方加上 print 的功能,像是

這樣就可以在 debugger console 那看到程式目前是進到哪個判斷式裡頭,
不過他大概就很簡略地顯示

a 等於 1

只能透過 print 的訊息來判斷是在哪,發生什麼事;
如果我們只是印出各種 print(error),就會比較難知道是誰發生了什麼事。

在輸出時加上檔案名稱及 function 和列數

在 Swift 裡頭,我們可以寫 #file #function #line 來取得相關資訊,並且簡單地分類:

我個人習慣分成 Debug、Warn、Info、Error,

  • Debug:為了開發需要看到的資訊
  • Warn:不應該執行到的警告,但不會造成 Crash 的程度
  • Info:像是網路回傳的資訊內容
  • Error:就⋯⋯紀錄 Error 的內容XDD

這樣就可以在 debugger console 看到比較詳細的內容。

(我沒有放 function name,有需要的記得要以參數的方式帶上)

Archie

An iOS developer with Swift.

您可能也會喜歡…

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

Bitnami