gpt4 book ai didi

ios - 做一个计算多次的计算器

转载 作者:行者123 更新时间:2023-11-29 01:22:13 26 4
gpt4 key购买 nike

我对 swift 还比较陌生。我使用 NSExpression 快速制作了一个简单的基于文本的计算器。然而,我有一个问题:这个基于文本的计算器每次都能完美地计算输入的第一个表达式(从 2+4 到 9*7-1/3*2+1 的表达式),但第二次,输出的结果始终与第一个结果相同(不会再次计算)。这是我的代码的基础知识:

我从 View Controller 调用它,并使结果标签的文本等于在下面的 swift 文件中找到的结果:

x.savetextfinal = calculatortextfield.text! // Variable x.savetextfinal, created elsewhere in a struct, is assigned to the user's input.
// Now the magic happens in calculatormath.swift (see below)
print("this is the result \(z.nsexpress2)")
equalsresultlabel.text = "Result is (z.nsexpress2)."

然后在一个单独的 swift 文件中找到的这段代码在我看来似乎发生了。它使用 NSExpression 将表达式从字符串转换为 NSExpression,然后创建一个变量并将 NSExpression“mathExpression”的结果“result”作为字符串分配给它。

import Foundation
var nsexpress:String = String(x.savetextfinal)
var mathExpression = NSExpression(format: nsexpress)
var result:Float = Float((mathExpression.expressionValueWithObject(nil, context: nil) as? NSNumber)!)

struct calculatoranswer {
var nsexpress2:String = String(result)
}
var z = calculatoranswer()

任何关于为什么此计算器不会计算表达式两次的想法将不胜感激!谢谢。

最佳答案

我所要做的就是将我所有的计算代码放在一个函数中,然后在我的 View Controller 中调用它。我计算的 swift 文件中的所有内容都放在一个函数中,我把它放在一个结构中,然后调用该函数。一切都按计划进行,我有我的计算器。结构和函数,即使对于像我这样的初学者来说也不难。

关于ios - 做一个计算多次的计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34464785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com