Swift - Cast Int in enum: Int

Ich bin sehr neu bei Swift (habe diese Woche angefangen) und migriere meine App von Objective-C. Ich habe im Grunde den folgenden Code in Objective-C, der gut funktioniert:

typedef enum : int {
    MyTimeFilter1Hour = 1,
    MyTimeFilter1Day = 2,
    MyTimeFilter7Day = 3,
    MyTimeFilter1Month = 4,
} MyTimeFilter;

...

- (void)selectFilter:(id)sender
{
    self.timeFilterSelected = (MyTimeFilter)((UIButton *)sender).tag;
    [self closeAnimated:YES];
}

Bei der Übersetzung in Swift habe ich Folgendes getan:

enum MyTimeFilter : Int {
    case OneHour = 1
    case OneDay = 2
    case SevenDays = 3
    case OneMonth = 4
}

...

@IBAction func selectFilter(sender: AnyObject) {
    self.timeFilterSelected = (sender as UIButton).tag as MyTimeFilter
    self.close(true)
}

Dadurch erhalte ich den Fehler:

'Int' kann nicht in 'MyTimeFilter' konvertiert werden

Ich weiß nicht, ob mein Ansatz (mit der Eigenschaft tag) der beste ist, aber ich muss diese Art von Casting an verschiedenen Stellen in meiner App durchführen. Hat jemand eine Idee, wie dieser Fehler behoben werden kann?

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage