在View Controller中使用和乘以变量

时间:2016-04-13 10:09:32

标签: swift uiviewcontroller

我正在使用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;



}

1 个答案:

答案 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