是否可以使用 switch 方法将 2 个字符串匹配在一起?
Is it possible to use the switch method to match 2 Strings together?
我有 16 个字符串,用户可以选择作为变量从之前的 VC 传递到当前的 VC,但用户必须选择 只有 2 个字符串.
变量的名称是 startingLength
和 endingLength
这些变量是从前面 VC 的 16 个中选择的 2 个字符串。
我想使用 switch 方法来确定如果某些字符串匹配会发生什么,但是我收到此错误。
无法将类型 'String' 的值转换为预期的参数类型 'Bool'
这是我的代码。
import UIKit
class LengthOutputViewController: UIViewController {
@IBOutlet weak var lengthOutputLabel: UILabel!
//MARK: LENGTH VARS
var startingLength = String()
var endingLength = String()
var lengthTextFieldValue = Double()
var output = Double()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
switch startingLength || endingLength { // Error: Cannot convert value of type 'String' to expected argument type 'Bool'
case :"Feet" || "Inches" // Error: Cannot convert value of type 'String' to expected argument type 'Bool'
}
}
感谢您的帮助。
尝试
override func viewDidAppear(_ animated: Bool) {
switch (startingLength , endingLength) {
case ("Feet", "Inches"):
print("test")
default : break
}
}
在基于 Documentation 的 switch 方法中,您可以比较 1 个变量但具有多个值。
因此您可以将 startingLength
与 "Feet" || "Inches"
进行比较,将 endingLength
与 "Feet" || "Inches"
进行比较,但不能在同一个开关盒中进行比较。
因此,使用 switch case 执行此操作的一种方法是将存储在 startingLength 和 endingLength 中的字符串值传递到应用 switch case 效果的函数中。
例子
override func viewDidAppear(_ animated: Bool) {
self.testString(string: startingLength)
self.testString(string: endingLength)
}
private func testString(string: String) {
switch string {
case "Feet", "Inches":
// Do what supposed to happen
break
default:
break
}
}
我有 16 个字符串,用户可以选择作为变量从之前的 VC 传递到当前的 VC,但用户必须选择 只有 2 个字符串.
变量的名称是 startingLength
和 endingLength
这些变量是从前面 VC 的 16 个中选择的 2 个字符串。
我想使用 switch 方法来确定如果某些字符串匹配会发生什么,但是我收到此错误。
无法将类型 'String' 的值转换为预期的参数类型 'Bool'
这是我的代码。
import UIKit
class LengthOutputViewController: UIViewController {
@IBOutlet weak var lengthOutputLabel: UILabel!
//MARK: LENGTH VARS
var startingLength = String()
var endingLength = String()
var lengthTextFieldValue = Double()
var output = Double()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
switch startingLength || endingLength { // Error: Cannot convert value of type 'String' to expected argument type 'Bool'
case :"Feet" || "Inches" // Error: Cannot convert value of type 'String' to expected argument type 'Bool'
}
}
感谢您的帮助。
尝试
override func viewDidAppear(_ animated: Bool) {
switch (startingLength , endingLength) {
case ("Feet", "Inches"):
print("test")
default : break
}
}
在基于 Documentation 的 switch 方法中,您可以比较 1 个变量但具有多个值。
因此您可以将 startingLength
与 "Feet" || "Inches"
进行比较,将 endingLength
与 "Feet" || "Inches"
进行比较,但不能在同一个开关盒中进行比较。
因此,使用 switch case 执行此操作的一种方法是将存储在 startingLength 和 endingLength 中的字符串值传递到应用 switch case 效果的函数中。 例子
override func viewDidAppear(_ animated: Bool) {
self.testString(string: startingLength)
self.testString(string: endingLength)
}
private func testString(string: String) {
switch string {
case "Feet", "Inches":
// Do what supposed to happen
break
default:
break
}
}