我正在使用Swift在Xcode上创建一个基本的投注计算器,我一直坚持如何在视图控制器中多次或甚至处理变量。我设法在命令行中使用C ++制作(非常简单)应用程序的算法,但我想将它变成一个应用程序,以便我可以与我的朋友分享。
我将向您展示C ++代码,以便您了解我正在尝试做的事情:
#include <cmath>
double odd1;
double odd2;
double imput1;
double imput2;
double output1;
double output2;
double totalprofit;
int main() {
{
std::cout << "Insert the smaller odds\n";
std::cin >> odd1;
}
{
std::cout << "Insert the larger odds\n";
std::cin >> odd2;
}
{
std::cout << "Insert bet for first instance\n";
std::cin >> imput1;
}
{
output1 = (odd1*imput1) - imput1;
output2 = imput1;
imput2 = output2/(odd2-1);
}
{
std::cout << "Second bet has to be \n" << imput2 << std::endl;
}
{
totalprofit = output1 - imput2;
std::cout << "Total profit is: \n" << totalprofit << std::endl;
}
{return '0';
}
}
所以我创建了一个带有表单选项的基本UI,作为从用户获取值的一种方法,我将它们链接到我的视图控制器
@IBOutlet var odds1: NSFormCell!
@IBOutlet var odds2: NSFormCell!
@IBOutlet var imput1: NSFormCell!
@IBOutlet var imput2: NSFormCell!
@IBOutlet var output1: NSFormCell!
@IBOutlet var output2: NSFormCell!
我试图将变量加倍 var output1 = odds1 * imput1 - imput1
但这不起作用。我也尝试了同样的事情,但是将它们声明为双打(因为它们有一个小数)但是这不起作用。
然后我尝试将它们放入像这样的函数中
func output1(odds1: NSFormCell, imput1: NSFormCell) -> NSFormCell {
RETURN odds1*imput1 - imput1;
}
var output1 = imput1;
var imput2 = profit2/(odd2-1);
但我收到错误消息,只是看着它我可以说我做了一些蠢事,但我真的不知道是什么。
这是完整的代码:
import Cocoa
import AppKit
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
@IBOutlet var odds1: NSFormCell!
@IBOutlet var odds2: NSFormCell!
@IBOutlet var imput1: NSFormCell!
@IBOutlet var imput2: NSFormCell!
@IBOutlet var output1: NSFormCell!
@IBOutlet var output2: NSFormCell!
let odds1 = NSNumberFormatter().numberFromString(imput1)?.doubleValue;
}
答案 0 :(得分:0)
在您的C ++代码中,您的变量已经是数字数据类型 - Double。
您将从NSFormCell返回的值是String。
您需要将String的值转换为数值数据类型。
let odds1 = NSNumberFormatter().numberFromString(imput1.text)?.doubleValue
代码更新后修改:
您共享的代码中存在许多概念问题。我可以帮助你克服这些问题的最好方法是指向swift中基本计算器示例的方向。
http://www.ioscreator.com/tutorials/calculator-tutorial-in-ios8-with-swift