“…如果案例包含多个与控制表达式匹配的模式,则这些模式都不能包含常量或变量绑定.”
包含多个模式意味着什么?
解决方法 这意味着具有多个模式的案例标签无法声明变量.这是允许的:
let somePoint = (1,1)switch somePoint {// Case with multiple patterns without bindingcase (0,_),(_,0): println("(\(somePoint.0),\(somePoint.1)) is on an axis")default: println("(\(somePoint.0),\(somePoint.1)) is not of an axis")}
这也是允许的:
let somePoint = (1,1)switch somePoint {// Case with single patterns with bindingcase (0,let y): println("(0,\(y)) is on an axis")case (let x,0): println("(\(x),0) is on an axis")default: println("(\(somePoint.0),\(somePoint.1)) is not of an axis")}
但是,这是禁止的:
let somePoint = (1,1)switch somePoint {// Case with multiple patterns that have bindingscase (0,let y),(let x,\(y)) is on an axis")default: println("(\(somePoint.0),\(somePoint.1)) is not of an axis")}
以上产生错误:
error: 'case' labels with multiple patterns cannot declare variables总结
以上是内存溢出为你收集整理的Swift:具有多个模式的Switch case无法绑定到变量全部内容,希望文章能够帮你解决Swift:具有多个模式的Switch case无法绑定到变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)