Swift 无法调用';性能操作';具有类型为';(NSAttributedString)和#x27;
Swift 无法调用';性能操作';具有类型为';(NSAttributedString)和#x27;,swift,Swift,大脑。执行操作错误为 无法使用类型为的参数列表调用“performOperation” “(NSAttribute字符串)” 这是斯坦福大学白胡子教师课程的内容,为什么Stackoverflow强制用户输入更多文本,这是非常不合理的您需要将NSAttributedString转换为String,因为您的函数只接受String参数 通过这种方式,您可以将NSAttributedString转换为String: func evaluate() -> Double? { let (re
大脑。执行操作
错误为
无法使用类型为的参数列表调用“performOperation”
“(NSAttribute字符串)”
这是斯坦福大学白胡子教师课程的内容,为什么Stackoverflow强制用户输入更多文本,这是非常不合理的您需要将
NSAttributedString
转换为String
,因为您的函数只接受String
参数
通过这种方式,您可以将NSAttributedString
转换为String
:
func evaluate() -> Double? {
let (result, _) = evaluate(opStack)
return result
}
func performOperation(symbol: String) -> Double? {
if let operation = knownOps[symbol] {
opStack.append(operation)
}
return evaluate()
}
它会很好地工作。您需要将
NSAttributedString
转换为String
,因为您的函数只接受String
参数
通过这种方式,您可以将NSAttributedString
转换为String
:
func evaluate() -> Double? {
let (result, _) = evaluate(opStack)
return result
}
func performOperation(symbol: String) -> Double? {
if let operation = knownOps[symbol] {
opStack.append(operation)
}
return evaluate()
}
谢谢,我知道它们是两种不同的类型,但是我有代码var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!)!.doubleValue}set{display.text=“(newValue)”}var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!)!.doubleValue}set{display.text=“(newValue)”}}谢谢,我知道它们是两种不同的类型,但我有代码var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!)!.doubleValue}set{display.text=“(newValue)”}var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!)!.doubleValue}set{display.text=“(newValue)“}}是的,语法为true,但在程序中运行,错误,自计算。ViewController 0x00007fda2a5219f0 0x00007fda2a5219f0var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!).doubleValue}set{display.text=“(newValue)”}var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!)!.doubleValue}set{display.text=“(newValue)”}是的,语法为true,但在程序中运行,错误,自计算。ViewController 0x00007fda2a5219f0 0x00007fda2a5219f0var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!)!doubleValue}set{display.text=”(newValue)“}}var displayValue:Double{get{return NSNumberFormatter().numberFromString(display.text!)!.doubleValue}set{display.text=“(newValue)”}
if let result = brain.performOperation(operation.string)