class SomeClass {
var someProperty: Int {
throw Err("SNAFU")
}
}
Per codice come sopra, l'errore di binary swift non viene gestito perché la funzione di inclusione non viene dichiarata "getta".Come si dichiara che una proprietà calcolata "getta" in Swift 2?
Come si dichiara che 'someProperty' 'getta' in quanto sopra?
class SomeClass {
var someProperty throws: Int {
}
}
e
class SomeClass {
var someProperty: throws Int {
}
}
e
class SomeClass {
var someProperty: Int throws {
}
}
non sembrano funzionare.
Grazie per il riferimento alla lingua; è abbastanza convincente. Mi rendo conto che questo non è il problema originale che ho chiesto, ma nel mio scenario, ho un tipo di contenitore e voglio solo implementare 'hashValue' quando ciascuno degli elementi è esso stesso lavabile. Sai per caso cosa posso fare per risolvere il problema? – math4tots
È ragionevole rendere il contenitore un tipo generico che funziona solo con elementi 'Hashable' nello stesso modo in cui le chiavi' Dictionary' veloci devono essere selezionabili? In caso contrario, suppongo che potresti dover lavorare per ottenere una funzione di hash nel caso in cui i tuoi elementi non siano lavabili poiché il protocollo '' Hashable'' non consente una risposta 'nil' e non puoi 'throw'. Potresti anche usare 'fatalError()' se è appropriato. –
Dopo averci pensato, penso che sto combattendo troppo il (tipo) sistema, e probabilmente sto meglio sottomettendomi ai miei migliori padroni. Grazie per l'aiuto! – math4tots