1

我正在编写一个 iOS 应用程序,用于(在许多功能中)计算家庭酿酒师发酵前后糖的酒精含量。现在的问题是;每次我在模拟器中运行我的应用程序时,一旦我使用此函数中使用的文本字段、标签和按钮(在实现中)进入 UIViewController,它就会因“线程 1:信号 SIGBART”而崩溃:

- (IBAction)calcAlc:(id)sender {
double ogVal = [[oGtext text]floatValue];
double fgVal = [[fGtext text]floatValue];

double alcoContent = ((1.05*(ogVal-fgVal))/fgVal)/0.79;

NSString *theResult = [NSString stringWithFormat:@"%1.2f",alcoContent];

alcContent.text = theResult;

}

我真的被困在这里 - 非常感谢任何帮助。提前致谢!

4

2 回答 2

3

您应该检查 fgVal 是否为 ever 0,因为您正在除以 fgVal。

您还需要使用doubleValue而不是floatValue,因为您将它们声明为double

于 2013-01-05T01:26:08.277 回答
1

我认为您应该尝试使用 float 代替 double 。现在在每个方法上设置断点并对其进行调试以获取应用程序崩溃的确切点,然后您将能够找到解决方案。还要确保连接故事板或笔尖(无论您使用什么)中的每个 ib 插座和动作。

请通知它是否有效.. :)

于 2013-01-05T05:16:58.310 回答