Swift:
การพิมพ์ผลลัพธ์การแก้ไขโค้ด
วิธีการ:
ใน Swift, คุณมีเพื่อนอยู่ในฟังก์ชัน print()
ซึ่งใช้งานง่าย, มันช่วยให้คุณเห็นสิ่งที่กำลังเกิดขึ้นในโค้ดของคุณ
var greeting = "Hello, playground"
print(greeting)
// ผลลัพธ์: Hello, playground
let numbers = [1, 2, 3, 4, 5]
for number in numbers {
print(number)
}
// ผลลัพธ์:
// 1
// 2
// 3
// 4
// 5
แต่รอซักครู่, ยังมีอีก! ต้องการข้อมูลดีบักโดยละเอียดหรือไม่? debugPrint()
คอยให้บริการ:
debugPrint(greeting)
// ผลลัพธ์: "Hello, playground"
สังเกตเห็นเครื่องหมายอัญประกาศนั้นหรือไม่? debugPrint()
เปิดเผยข้อมูลพิเศษเกี่ยวกับประเภทข้อมูลและโครงสร้าง
การศึกษาลึก
ในยุคของ Objective-C, เราใช้ NSLog
เพื่อบันทึกสิ่งต่างๆ ออกมา Swift ทำให้สิ่งต่างๆ เรียบง่าย—print()
เป็นขนมปังของคุณสำหรับผลลัพธ์มาตรฐาน, ในขณะที่ debugPrint()
เป็นเนยรสชาติสำหรับมุมมองโดยละเอียด
ข้อเท็จจริงที่น่าสนใจ: ผลลัพธ์มาตรฐานใน Swift ไม่ได้เป็นเพียงแค่ข้อความ—มันสามารถเป็นประเภทใดๆ ที่สอดคล้องกับ CustomStringConvertible
หรือ CustomDebugStringConvertible
โปรโตคอลเหล่านี้ช่วยให้คุณปรับแต่งการดูของวัตถุของคุณเมื่อพวกเขาบอกเรื่องราวผ่านการพิมพ์
ภายใต้ฝาเครื่อง, print()
และ debugPrint()
ใช้ String(describing:)
และ String(reflecting:)
เพื่อเปลี่ยนวัตถุของคุณเป็นสตริง โดยพื้นฐานแล้ว, ฟังก์ชั่นเหล่านี้ใช้กระจกเพื่อถ่ายเซลฟี่ข้อมูลของคุณ
มีทางเลือกอื่นหรือไม่? คุณมี os_log
และ NSLog
, แต่เหล่านี้เหมาะสมกว่าสำหรับการบันทึกในระดับการผลิต, ไม่ใช่การดีบักแบบรวดเร็วและสกปรกที่เรากำลังพูดถึงที่นี่
ดูเพิ่มเติม
- อ้างอิง API Swift ของ Apple สำหรับฟังก์ชันพิมพ์: ไลบรารีมาตรฐาน Swift: print(_:separator:terminator:)
- การศึกษาลึกเพิ่มเติมเกี่ยวกับการบันทึกใน Swift, การพิจารณา GDPR และความเป็นส่วนตัว: Unified Logging and Activity Tracing
- การแทรกสตริงและความสามารถในการปรับแต่งสำหรับคำอธิบายการดีบักใน Swift: CustomStringConvertible และ CustomDebugStringConvertible