Ios 快速计算UITextFields的值和返回值

Ios 快速计算UITextFields的值和返回值,ios,variables,swift,uitextfield,xcode6,Ios,Variables,Swift,Uitextfield,Xcode6,使用swift和Xcode 6,我试图返回一个基于几个UITextFields内容计算的值 我已经声明了变量 var Number1 = Field1.text.toInt() var Number2 = Field2.text.toInt() var Duration = Number1*Number2 Mylabel.text = String ("\(Duration)") 其思想是从几个UI字段中捕获持续时间,并根据这些值的计算将其分配给变量,并将其显示在标签上 行内:变量持续时

使用swift和Xcode 6,我试图返回一个基于几个UITextFields内容计算的值

我已经声明了变量

var Number1 = Field1.text.toInt()
var Number2 = Field2.text.toInt() 

var Duration = Number1*Number2

Mylabel.text = String ("\(Duration)")
其思想是从几个UI字段中捕获持续时间,并根据这些值的计算将其分配给变量,并将其显示在标签上


行内:变量持续时间=Number1*Number2


我面临的挑战是,在执行乘法时,Xcode高亮显示错误:可选类型“Int”的值未展开;你想用“!”吗或者“?”?

获取var中文本字段的值,将它们相乘,然后设置label的值。试试这个:

var Number1 = Field1.text.toInt()
var Number2 = Field2.text.toInt() 

var Duration = Number1 * Number2

Mylabel.text = NSString(format:"%d",Duration!)as String;

希望这有帮助:)

获取var中textFields的值,将它们相乘,然后设置label的值。试试这个:

var Number1 = Field1.text.toInt()
var Number2 = Field2.text.toInt() 

var Duration = Number1 * Number2

Mylabel.text = NSString(format:"%d",Duration!)as String;

希望这有帮助:)

获取var中textFields的值,将它们相乘,然后设置label的值。试试这个:

var Number1 = Field1.text.toInt()
var Number2 = Field2.text.toInt() 

var Duration = Number1 * Number2

Mylabel.text = NSString(format:"%d",Duration!)as String;

希望这有帮助:)

获取var中textFields的值,将它们相乘,然后设置label的值。试试这个:

var Number1 = Field1.text.toInt()
var Number2 = Field2.text.toInt() 

var Duration = Number1 * Number2

Mylabel.text = NSString(format:"%d",Duration!)as String;
希望这有帮助:)

toInt()方法返回一个可选值,因为它试图转换的字符串可能不包含正确的值。例如,这些字符串将转换为
nil
“house”
“3.7”
(空字符串)

由于值可能是
nil
toInt()
返回可选的
Int
,该类型为
Int?
。如果不先展开该值,则无法使用该值。这就是您收到错误消息的原因。以下是两种安全的处理方法:

当值无法转换时,您需要决定要执行的操作。如果您只想在这种情况下使用
0
,请使用nil合并运算符(
),如下所示:

如果希望程序不执行任何操作,除非两个字段都具有有效值:

if let number1 = field1.text.toInt() {
    // if we get here, number1 contains the valid unwrapped Int from field1

    if let number2 = field2.text.toInt() {
        // if we get here, number2 contains the valid unwrapped Int from field2

        let duration = number1 * number2
        mylabel.text = "\(duration)"
    }
}
那么,当错误消息说您是否打算使用
时,它是什么意思。您可以通过添加
来展开可选值结束,但是您必须首先绝对确保该值不是零,否则您的应用程序将崩溃。所以你也可以这样做:

if number1 != nil && number2 != nil {
    let duration = number1! * number2!
    mylabel.text = "\(duration)"
}     
toInt()
方法返回可选值,因为它试图转换的字符串可能不包含正确的值。例如,这些字符串将转换为
nil
“house”
“3.7”
(空字符串)

由于值可能是
nil
toInt()
返回可选的
Int
,该类型为
Int?
。如果不先展开该值,则无法使用该值。这就是您收到错误消息的原因。以下是两种安全的处理方法:

当值无法转换时,您需要决定要执行的操作。如果您只想在这种情况下使用
0
,请使用nil合并运算符(
),如下所示:

如果希望程序不执行任何操作,除非两个字段都具有有效值:

if let number1 = field1.text.toInt() {
    // if we get here, number1 contains the valid unwrapped Int from field1

    if let number2 = field2.text.toInt() {
        // if we get here, number2 contains the valid unwrapped Int from field2

        let duration = number1 * number2
        mylabel.text = "\(duration)"
    }
}
那么,当错误消息说您是否打算使用
时,它是什么意思。您可以通过添加
来展开可选值结束,但是您必须首先绝对确保该值不是零,否则您的应用程序将崩溃。所以你也可以这样做:

if number1 != nil && number2 != nil {
    let duration = number1! * number2!
    mylabel.text = "\(duration)"
}     
toInt()
方法返回可选值,因为它试图转换的字符串可能不包含正确的值。例如,这些字符串将转换为
nil
“house”
“3.7”
(空字符串)

由于值可能是
nil
toInt()
返回可选的
Int
,该类型为
Int?
。如果不先展开该值,则无法使用该值。这就是您收到错误消息的原因。以下是两种安全的处理方法:

当值无法转换时,您需要决定要执行的操作。如果您只想在这种情况下使用
0
,请使用nil合并运算符(
),如下所示:

如果希望程序不执行任何操作,除非两个字段都具有有效值:

if let number1 = field1.text.toInt() {
    // if we get here, number1 contains the valid unwrapped Int from field1

    if let number2 = field2.text.toInt() {
        // if we get here, number2 contains the valid unwrapped Int from field2

        let duration = number1 * number2
        mylabel.text = "\(duration)"
    }
}
那么,当错误消息说您是否打算使用
时,它是什么意思。您可以通过添加
来展开可选值结束,但是您必须首先绝对确保该值不是零,否则您的应用程序将崩溃。所以你也可以这样做:

if number1 != nil && number2 != nil {
    let duration = number1! * number2!
    mylabel.text = "\(duration)"
}     
toInt()
方法返回可选值,因为它试图转换的字符串可能不包含正确的值。例如,这些字符串将转换为
nil
“house”
“3.7”
(空字符串)

由于值可能是
nil
toInt()
返回可选的
Int
,该类型为
Int?
。如果不先展开该值,则无法使用该值。这就是您收到错误消息的原因。以下是两种安全的处理方法:

当值无法转换时,您需要决定要执行的操作。如果您只想在这种情况下使用
0
,请使用nil合并运算符(
),如下所示:

如果希望程序不执行任何操作,除非两个字段都具有有效值:

if let number1 = field1.text.toInt() {
    // if we get here, number1 contains the valid unwrapped Int from field1

    if let number2 = field2.text.toInt() {
        // if we get here, number2 contains the valid unwrapped Int from field2

        let duration = number1 * number2
        mylabel.text = "\(duration)"
    }
}
那么,当错误消息说您是否打算使用
时,它是什么意思。您可以通过添加
来展开可选值结束,但是您必须首先绝对确保该值不是零,否则您的应用程序将崩溃。所以你也可以这样做:

if number1 != nil && number2 != nil {
    let duration = number1! * number2!
    mylabel.text = "\(duration)"
}     

你的问题是什么?变量中不能有空格。这是:
Number1
Number2
。不是这样:
1号
2号
。您遇到了什么问题?从我们看到的代码来看,它应该工作正常(除了varia中的空格)