Un altro esempio è, avete classe come:
@obc class Album: NSObject {
let name:String
let singer:Singer
let artwork:URL
let playingSong:Song
// ...
class func getCurrentlyPlayingSongLyric(duration: Int = 0) -> String {
// ...
return playingSong.lyric
}
}
si riceverà anche lo stesso tipo di errore del tipo:
instance member x cannot be used on type x.
È perché si assegna il metodo con "classe "parola chiave (che rende il metodo un metodo di tipo) e utilizza come:
Album.getCurrentlyPlayingSongLyric(duration: 5)
ma chi ha impostato prima la variabile playingSong? Ok. Non dovresti usare la parola chiave class per quel caso:
// ...
func getCurrentlyPlayingSongLyric(duration: Int = 0) -> String {
// ...
return playingSong.lyric
}
// ...
Ora sei libero di andare.
Supponendo di dichiarare una proprietà calcolata 'numPages' anziché una chiusura eliminare il segno di uguale:' var numPages: Int {return categoriesPerPage.count} ' – vadian
Può essere spiegato in modo più preciso esattamente cosa questo messaggio di errore si intende? Lo sto vedendo in un contesto completamente diverso. –
Quando dichiari un blocco nello scope della classe, come sopra, sei limitato a ciò che è disponibile nel tipo. Non hai accesso a nessun membro di istanza. – Aderstedt