Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,050

    [SWIFT] Proprietà calcolate - tutorial di html.it da errore

    Ciao a tutti,
    ho seguito il tutorial di Html.it però il loro codice da errore

    https://www.html.it/pag/55710/estensioni-2/

    ho fatto così:

    class Persona {


    var nome: String
    var cognome: String
    var eta: Int


    init(nome: String, cognome: String, eta: Int) {
    self.nome = nome
    self.cognome = cognome
    self.eta = eta
    }

    var nomeCompleto: String {
    get {
    return "\(self.nome) \(self.cognome)"
    }
    }



    }
    var p = Persona(nome: "Antonio", cognome: "Calanducci", eta: 105)


    extension Persona {
    func infoComplete() {
    print("\(nome) \(cognome) di età \(eta)")
    }
    func ringiovanisci(_ anni: Int) {
    self.eta -= anni
    }
    }

    p.infoComplete() // output Antonio Calanducci di età 105
    p.ringiovanisci(10)
    p.infoComplete() // output Antonio Calanducci di età 95




    p.nomeCompleto // qui dovrebbe dare come output Antonio Calanducci, invece da errore


    QUESTO E' L'ERRORE:
    warning: expression of type 'String' is unused
    Ultima modifica di prinzart; 16-12-2019 a 15:18

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,050
    Ho pulito un po il codice ma da sempre lo stesso errore:


    class Persona {


    var nome: String
    var cognome: String

    var nomeCompleto: String {
    get {
    return "\(self.nome) \(self.cognome)"
    }
    }


    init(nome: String, cognome: String) {
    self.nome = nome
    self.cognome = cognome
    }


    }
    var p = Persona(nome: "Antonio", cognome: "Calanducci")


    p.nomeCompleto

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,138
    Ora, io non conosco Swift, ma il tutorial non dice che scrivendo "p.nomeCompleto" si dovrebbe vedere in output qualcosa. Il tutorial mostra il modo in cui ci si riferisce alla variabile calcolata. Per far stampare il valore della variabile calcolata si deve fare come è stato fatto all'interno della funzione "infoComplete", ovvero usare l'istruzione "print".
    Quindi, mi aspetterei che questa istruzione stampi il valore della variabile calcolata:

    codice:
    print("\(p.nomeCompleto)")

    Infatti il warning (che non dovrebbe essere un errore, ma appunto un avvertimento) parla chiaro: si sta facendo riferimento ad un'espressione di tipo stringa, ma non la si sta usando (non la si sta assegnando a nulla, né la si sta passando ad alcuna funzione/istruzione).


    Ciao.
    Ultima modifica di LeleFT; 17-12-2019 a 09:56
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.