美文网首页
Swift中 enum和Switch的应用

Swift中 enum和Switch的应用

作者: 蔡俊宇 | 来源:发表于2016-09-08 22:48 被阅读165次
    目的

    其实在很多菜鸟中会忽视了枚举的好处,使用枚举最显而易见的好处是能让代码更加清晰,应用得最多的地方是选项在超过两项或两项以上的时候能让协同开发的小伙伴更加清晰.
    我新建了一个dome,里面创建了一个计算器calculatorControl的类,而在它里面又定义了一个calculatroEnum的枚举,此时枚举让整个语义更加清晰.但让我觉得比较有兴趣的是在加减乘除以后,我还定义了一个求勾股定理斜边的powerWihtNum(Double),和其他枚举不同的是这个枚举可以接受一个开多少次方的值

    enum calculatorEnum {
        case add
        case sub
        case div
        case mul
        case powerWihtNum(Double)
        private func calculatorForResult(x:Double,y:Double)->Double?{
            switch self {
            case .add:
                return x + y;
            case .sub:
                return x - y;
            case .div:
                return x / y;
            case .mul:
                return x * y;
            case .powerWihtNum(let i):
                return pow(x, i) + pow(y, i);
            }
            
        }
    }
    
    class CalculatorControl: NSObject {
    
        convenience  init(x:Double,y:Double,n:Double?,WihtPath path:calculatorEnum) {
            self.init();
            
            print("输出的结果是\(path.calculatorForResult(x, y: y))");
            
        }
    }
    

    如果在控制中调用该类,则能打印出相应的值.

    
    
       override func viewDidLoad() {
            super.viewDidLoad()
            CalculatorControl.init(x: 3, y: 4, n: nil, WihtPath: calculatorEnum.powerWihtNum(2))
        }
    //打印台输出:输出的结果是****Optional(25.0)
    

    相关文章

      网友评论

          本文标题:Swift中 enum和Switch的应用

          本文链接:https://www.haomeiwen.com/subject/ysceettx.html