Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用特殊关键字快速标记枚举元素_Ios_Swift_Enums_Swift5 - Fatal编程技术网

Ios 使用特殊关键字快速标记枚举元素

Ios 使用特殊关键字快速标记枚举元素,ios,swift,enums,swift5,Ios,Swift,Enums,Swift5,我需要知道Swift语言是否有办法实现标记枚举中某些元素的功能。例如,我在Swift enum中有一组属性,其中一些属性可以设置动画,而其他属性则不能。我想要像这样的东西: public enum Property: String { case prop1, case prop2 @animatable, case prop3 @animatable, case prop4, case prop5 @animatable, ...

我需要知道Swift语言是否有办法实现标记枚举中某些元素的功能。例如,我在Swift enum中有一组属性,其中一些属性可以设置动画,而其他属性则不能。我想要像这样的东西:

  public enum Property: String {

     case prop1,
     case prop2 @animatable,
     case prop3 @animatable,
     case prop4,
     case prop5 @animatable,
     ...
     ...
     ...
     case prop100

  }
然后在函数中我可以传递一个参数,比如:

func animate(_ prop: Property @animatable, startTime:CFTimeInterval, duration:CFTimeInterval) {


 }

所以我传递了一个属性,它是枚举的元素,只能设置动画,不能设置其他元素。在Swift语言(Swift 5)中,有没有一种干净的方法可以实现这样的效果?

如果你指的是java注释之类的东西,那么答案是否定的。创建两个枚举我总是可以创建两个枚举,但我只是想知道Swift中最干净的方法是什么