
enum Method2:String {
case Add = "addStr"
case Sub = "subStr"
case Mul = "mulStr"
case div = "divStr"
}
print("--------------->")
// 老版本中是
// Method2.div.toRaw()
print(Method2.div.rawValue)
// 这里是可选类型
// let op1 = Method2.RawValue("Add")
// print(op1)
// let op2 = Method2.RawValue("add")
// print(op2!)
// Method2.fromraw("add")
let m1 = Method2(rawValue: "add")
print(m1)
let m2 = Method2(rawValue: "addStr")
print("--------->")
print(m2)
print(m2!)
func chooseMethod(op: String) -> (Double,Double)-> Double {
// 由于返回是可选类型,所以有可能为nil,最好使用可选绑定
if let rawop = Method2(rawValue: op) {
switch rawop {
case .Add:
func add(a:Double,b:Double) -> Double {
return a + b
}
return add
case .Sub:
// 返回一个闭包
return { (a: Double,b: Double) -> Double in return a - b }
case .Mul:
// 返回一个闭包,省略闭包类型
return { return * }
case .div:
// 返回一个闭包,return也省略掉
return { / }
default
: return
{ } + } }
return
{ + }
}
let
val =
chooseMethod
(op: "addStr")(30, 7) print("--------->"
) print(val)
总结
以上是内存溢出为你收集整理的7.4 Swift原始值fromRaw方法全部内容,希望文章能够帮你解决7.4 Swift原始值fromRaw方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)