sto scrivendo il mio primo progetto in Swift (ho fatto ObjectiveC per anni) e per qualche motivo, non riesco a capire perché il mio enum e Switch non funzionano togetberSwitch: Enum Switch issue: Non membro di un
enum ContactViewMode : Int
{
case ViewModeFavourite = 0
case ViewModeRecent = 1
case ViewModeContacts = 2
}
Proprietà
@IBInspectable var contactViewMode : Int!
interruttore
switch contactViewMode {
case ContactViewMode.ViewModeFavourite:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
case ContactViewMode.ViewModeRecent:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
default:
contacts = DBManager.getAllContacts() as [ContactEntity]
}
L'errore che ottengo è Il caso Enum 'ViewModeFavourite' non è un membro di tipo 'Int!'
Quindi l'ho modificato perché non è un Int! (Ho bisogno Int! Per Storyboard)
var contactMode:Int = contactViewMode
switch contactMode {
case .ViewModeFavourite:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
case .ViewModeRecent:
contacts = DBManager.getFavouriteContacts() as [ContactEntity]
default:
contacts = DBManager.getAllContacts() as [ContactEntity]
}
tanto sono Enum caso del modello non può corrispondere i valori di tipo non-enum 'Int'
Che cosa fa esattamente il '.Some'? Hai un link ai documenti? – fabian789
@ fabian789 Si chiama ["Modello di caso di enumerazione"] (https://developer.apple.com/library/ios/documentation/swift/conceptual/swift_programming_language/Patterns.html#//apple_ref/doc/uid/TP40014097-CH36 -XID_1012). Poiché ['Opzionale'] (https://developer.apple.com/library/ios/documentation/swift/conceptual/Swift_Programming_Language/Types.html#//apple_ref/doc/uid/TP40014097-CH31-XID_1126) è solo un 'enum' (' .None' o '.Some (T)'), possiamo confrontarci con esso con quei pattern. – rintaro