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,有需要的記得要以參數的方式帶上)

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s