【发布时间】:2016-04-29 11:54:44
【问题描述】:
我是 Swift iOS 新手。我正在尝试使用枚举类型作为函数的输入参数。这里是
示例枚举类型:
public enum CFScreen {
public enum CFScreen_Newsfeed: Int {
case Newsfeed_01 = 2100
case Newsfeed_02 = 2101
case Newsfeed_03 = 2102
case Newsfeed_04 = 2103
case Newsfeed_05 = 2104
case Newsfeed_06 = 2105
case Newsfeed_07 = 2106
case Newsfeed_08 = 2107
}
public enum CFScreen_Groups: Int {
case Create = 2200
case GoBack = 2201
}
}
使用枚举类型作为输入参数的示例函数
func showCFScreenForEnumType(cFooter: CFScreen.CFScreen_Groups) {
//Group Related
switch cFooter {
case .Create:
print("Show Create Group")
break
case .GoBack:
print("Show Go Back Screen")
break
}
}
func showCFScreenForEnumType(cFooter: CFScreen.CFScreen_Newsfeed) {
//Group Related
switch cFooter {
case .Newsfeed_01:
print("Show News 01")
break
case .Newsfeed_02:
print("Show News 02")
break
case .Newsfeed_03:
print("Show News 03")
break
case .Newsfeed_04:
print("Show News 04")
break
case .Newsfeed_05:
print("Show News 05")
break
case .Newsfeed_06:
print("Show News 06")
break
case .Newsfeed_07:
print("Show News 07")
break
case .Newsfeed_08:
print("Show News 08")
break
}
}
如下调用这个函数
let selCFScreenG = CFScreen.CFScreen_Groups.Create
showCFScreenForEnumType(selCFScreenG)
let selCFScreenNF = CFScreen.CFScreen_Newsfeed.Newsfeed_01
showCFScreenForEnumType(selCFScreenNF)
参考链接:http://www.codingexplorer.com/enumerations-swift/
我的问题是如何编写一个一般接受枚举类型的函数,以便我可以将以下两个函数合并为一个
func showCFScreenForEnumType(cFooter: CFScreen.CFScreen_Groups)
func showCFScreenForEnumType(cFooter: CFScreen.CFScreen_Newsfeed)
【问题讨论】:
标签: swift generics enums generic-programming swift2.2