Come stampare su console utilizzando Swift playground?


99

Ho seguito la Guida Apple per la loro nuova lingua rapida, ma non capisco perché la barra a destra mostra solo "Hello, playground" e non "Hello, world". Qualcuno può spiegare perché printlnnon viene stampato a destra?

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

import Cocoa

var str = "Hello, playground"

println("Hello, world");

inserisci qui la descrizione dell'immagine


Risposte:


133

In Xcode 6.3 e versioni successive (inclusi Xcode 7 e 8), l'output della console viene visualizzato nell'area Debug nella parte inferiore della finestra del playground (simile a dove appare in un progetto). Per mostrarlo:

  • Menu: Visualizza> Area di debug> Mostra area di debug (⌘⇧Y)

  • Fare clic sul pulsante centrale del widget di layout dell'area di lavoro nella barra degli strumenti

    widget di layout dell'area di lavoro

  • Fare clic sul triangolo accanto alla sequenza temporale nella parte inferiore della finestra

    triangolo per console

Tutto ciò che scrive sulla console, inclusa la printdichiarazione di Swift (ribattezzata da printlnSwift 2 beta) appare lì.


Nelle versioni precedenti di Xcode 6 (da cui probabilmente dovresti comunque eseguire l'aggiornamento), mostra l'editor dell'Assistente (ad esempio, facendo clic sul piccolo cerchio accanto a un bit nell'area di output). L'output della console viene visualizzato lì.


Mostrando l'assistente al montaggio funzionato ... ma qual è la barra a destra? Questo non è l'output della console?
Arian Faurtosh

8
È la "barra laterale dei risultati" - mostra il valore dell'espressione sulla sua riga ... vagamente equivalente alla vista delle variabili nel debugger di Xcode.
Rickster

Nel mio caso non c'è la finestra "console" all'interno dell'assistente? È solo uno schermo grigio vuoto. L'output di Println non va da nessuna parte?
Kokodoko

Xcode 6.4 non stampa nulla nell'area di debug, è solo nell'editor dell'assistente.
Babbo Natale


13

Basta premere Alt + Comando + Invio per aprire l'editor dell'assistente. Assistant Editor aprirà la vista Timeline. La sequenza temporale per impostazione predefinita mostra l'output della console.

Inoltre, puoi aggiungere qualsiasi linea alla vista Timeline premendo il piccolo cerchio accanto all'icona dell'occhio nell'area dei risultati. Ciò consentirà la cronologia per questa espressione. Quindi puoi vedere l'output della variabile negli ultimi 30 secondi (puoi anche cambiare questo) di esecuzione.


11

Potresti ancora avere problemi a visualizzare l'output nell'editor dell'assistente. Piuttosto che avvolgere la stringa println(), è sufficiente generare la stringa. Per esempio:

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

Scriverà (5 times)nell'area giochi. Ciò ti consentirà di visualizzarlo nell'Assistente Editor (tramite il piccolo cerchio sul bordo più a destra).

Tuttavia, se lo println("The number is \(index)")facessi non saresti in grado di visualizzarlo nell'Assistente Editor.


1
Ma perché è così? È un bug o perché dovresti usare anche il comando println ?
OscarWyck

4
Credo che in realtà sia un bug. A volte, se riavvio Xcode, riesco a vedere l'output daprintln
AD Regan

Sì, ho riavviato xcode e ora sembra funzionare. Deve essere un bug! Grazie!
Kirk

2

A partire da Xcode 7.0.1 println è cambiato in print. Guarda l'immagine. ce ne sono molte altre che possiamo stampare. inserisci qui la descrizione dell'immagine


0

muovi il mouse su "Hello, playground" sulla barra laterale destra, vedrai un'icona a forma di occhio e un piccolo cerchio accanto ad essa. Basta fare clic su quello circolare per visualizzare la pagina dei dettagli e l'output della console!


0

per visualizzare le variabili solo in playground, basta menzionare il nome della variabile senza nulla

sia stat = 100

stat // questo restituisce il valore di stat nella finestra destra del playground


Ottimo consiglio, è dannoso per la compilazione su un'app reale?
Kokodoko
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.