จะพิมพ์ลงคอนโซลโดยใช้สนามเด็กเล่นที่รวดเร็วได้อย่างไร


99

ฉันติดตาม Apple Guide สำหรับภาษาใหม่ที่รวดเร็ว แต่ฉันไม่เข้าใจว่าทำไมแถบทางด้านขวาจึงแสดงเฉพาะ "สวัสดีสนามเด็กเล่น" ไม่ใช่ "สวัสดีชาวโลก" มีใครอธิบายprintlnได้ไหมว่าทำไมถึงไม่พิมพ์ด้านขวา

// Playground - noun: a place where people can play

import Cocoa

var str = "Hello, playground"

println("Hello, world");

ป้อนคำอธิบายภาพที่นี่


คำตอบ:


133

ใน Xcode 6.3 และใหม่กว่า (รวมถึง Xcode 7 และ 8) เอาต์พุตคอนโซลจะปรากฏในพื้นที่ดีบักที่ด้านล่างของหน้าต่างสนามเด็กเล่น (คล้ายกับที่ปรากฏในโปรเจ็กต์) เพื่อแสดง:

  • เมนู: View> Debug Area> Show Debug Area (⌘⇧Y)

  • คลิกปุ่มกลางของวิดเจ็ตเค้าโครงพื้นที่ทำงานในแถบเครื่องมือ

    วิดเจ็ตเค้าโครงพื้นที่ทำงาน

  • คลิกสามเหลี่ยมถัดจากไทม์ไลน์ที่ด้านล่างของหน้าต่าง

    สามเหลี่ยมสำหรับคอนโซล

ทุกสิ่งที่เขียนลงในคอนโซลรวมถึงprintคำสั่งของ Swift (เปลี่ยนชื่อจากprintlnใน Swift 2 beta) จะปรากฏ


ใน Xcode 6 เวอร์ชันก่อนหน้า (ซึ่งตอนนี้คุณควรจะอัปเกรดจากนั้น) ให้แสดงตัวแก้ไข Assistant (เช่นโดยคลิกที่วงกลมเล็ก ๆ ถัดจากบิตในพื้นที่เอาต์พุต) เอาต์พุตคอนโซลปรากฏขึ้นที่นั่น


แสดงว่าผู้ช่วยบรรณาธิการทำงาน ... แต่แถบทางขวาคืออะไร? นั่นไม่ใช่เอาต์พุตของคอนโซลใช่หรือไม่
Arian Faurtosh

8
มันคือ "แถบด้านข้างผลลัพธ์" ซึ่งจะแสดงค่าของนิพจน์ในบรรทัด ... เทียบเท่ากับมุมมองตัวแปรในโปรแกรมดีบักเกอร์ Xcode อย่างคลุมเครือ
rickster

ในกรณีของฉันไม่มีหน้าต่าง "คอนโซล" ในผู้ช่วย? มันเป็นเพียงหน้าจอสีเทาว่างเปล่า เอาต์พุต Println ไม่ไปไหน?
Kokodoko

Xcode 6.4 ไม่พิมพ์อะไรลงในพื้นที่ดีบักซึ่งจะอยู่ในตัวแก้ไขผู้ช่วยเท่านั้น
ซานตาคลอส

71

คุณต้องเปิดใช้งาน Show Assistant Editor:

ป้อนคำอธิบายภาพที่นี่


12
ภาพมีค่านับล้านคำ
Thuy Trinh

5
ถ้าคุณปิดคอนโซลเอาท์พุท (คลิก x ตัวเล็ก ๆ ) คุณจะเอาคืนได้อย่างไร?
Beanwah

3
@Beanwah ฉันมีคำถามเหมือนกันฉันจึงตัดสินใจถาม SO: stackoverflow.com/questions/24277848/…
ericsoco

1
กระแสจิตมีค่าถึงสิบล้าน ! 👺
Alex Gray

13

เพียงกดAlt + Command + Enterเพื่อเปิดตัวแก้ไขผู้ช่วย Assistant Editor จะเปิดมุมมองไทม์ไลน์ ไทม์ไลน์โดยค่าเริ่มต้นจะแสดงเอาต์พุตคอนโซลของคุณ

นอกจากนี้คุณสามารถเพิ่มเส้นใดก็ได้ในมุมมองไทม์ไลน์โดยกดวงกลมเล็ก ๆ ถัดจากไอคอนรูปตาในพื้นที่ผลลัพธ์ สิ่งนี้จะเปิดใช้งานประวัติสำหรับนิพจน์นี้ ดังนั้นคุณจะเห็นผลลัพธ์ของตัวแปรในช่วง 30 วินาทีที่ผ่านมา (คุณสามารถเปลี่ยนสิ่งนี้ได้เช่นกัน) ของการดำเนินการ


11

คุณอาจยังมีปัญหาในการแสดงผลลัพธ์ใน Assistant Editor แทนที่จะตัดสตริงเข้าprintln()เพียงแค่ส่งออกสตริง ตัวอย่างเช่น:

for index in 1...5 {
    "The number is \(index)"
}

จะเขียน(5 times)บริเวณสนามเด็กเล่น. สิ่งนี้จะช่วยให้คุณแสดงใน Assistant Editor (ผ่านวงกลมเล็ก ๆ ที่ขอบขวาสุด)

อย่างไรก็ตามหากเป็นเช่นนั้นprintln("The number is \(index)")คุณจะไม่สามารถเห็นภาพได้ใน Assistant Editor


1
แต่ทำไมถึงเป็นเช่นนั้น? นั่นเป็นจุดบกพร่องหรือทำไมคุณถึงใช้คำสั่งprintln ?
OscarWyck

4
ฉันเชื่อว่ามันเป็นจุดบกพร่องจริงๆ บางครั้งถ้าฉันรีสตาร์ท Xcode ฉันจะเห็นผลลัพธ์จากprintln
AD Regan

ใช่ฉันรีสตาร์ท xcode แล้วและดูเหมือนว่าจะใช้งานได้แล้ว ต้องเป็นบั๊ก! ขอบคุณ!
Kirk

2

ณ Xcode 7.0.1 println จะเปลี่ยนเป็นการพิมพ์ ดูที่ภาพ ยังมีอีกมากมายที่เราสามารถพิมพ์ออกมาได้ ป้อนคำอธิบายภาพที่นี่


0

เลื่อนเมาส์ไปวางเหนือ "สวัสดีสนามเด็กเล่น" ที่แถบด้านขวาคุณจะเห็นไอคอนรูปดวงตาและไอคอนวงกลมเล็ก ๆ ถัดจากนั้น เพียงคลิกที่วงกลมเพื่อแสดงหน้ารายละเอียดและเอาต์พุตคอนโซล!


0

สำหรับการแสดงตัวแปรในสนามเด็กเล่นเท่านั้นเพียงแค่เอ่ยชื่อตัวแปรโดยไม่ต้องมีอะไรเลย

ให้ stat = 100

stat // สิ่งนี้ส่งออกค่าของ stat บนหน้าต่างด้านขวาของสนามเด็กเล่น


เคล็ดลับดีๆนี่เป็นอันตรายต่อการรวบรวมลงแอปจริงหรือไม่?
Kokodoko
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.