Swift için çok yeniyim (bu hafta başladım) ve uygulamamı Objective-C'den taşıyorum. Temelde iyi çalışır Objective-C aşağıdaki kodu var:
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];
}
Swift'e çevirirken aşağıdakileri yaptım:
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)
}
Bunu yaparak hatayı alıyorum:
'Int', 'MyTimeFilter' biçimine dönüştürülemez
Benim yaklaşım (tag özelliği kullanarak) iyi olup olmadığını bilmiyorum, ama yine de benim app farklı yerlerde döküm bu tür yapmak gerekir. Herkes bu hatadan kurtulmak için bir fikri var mı?
Teşekkürler!
(sender as UIButton)
, sadece bir almak yöntem imzası değiştirebilirUIButton
yerineAnyObject
.