我一直在关注制作简单的临时转换应用的应用教程,
我有这些代码行,如下所示
// get the users imput : c
var celsius:Int = celsiusValue.text.toInt()!
//formula : c to f
// 5f = 9c + 160
// output : f
var fah:Int = ( 9 * celsius + 160 ) / 5
print(fah)
我发现了一些错误,我不明白为什么会这样,
'字符串'没有名为' Int'
的成员
这意味着Int无法使用,因为显示的字符串中没有整数?
可选类型的值'字符串?'没有打开;你的意思是用吗? '!'或者'?'?
我已将代码更改为
var celsius:Int = celsiusValue.text!.toInt()!
正如它在错误帮助程序中所做的那样,但它仍然给出了与
相同的错误可选类型的值'字符串?'没有打开;你的意思是用吗? '!'或者'?'?
所以现在我对它感到困惑,我已经读过关于这个变量的其他线索从未发生变异,但它似乎没有帮助我解决它发生的事情
答案 0 :(得分:2)
评论太长了......
"变量从未发生变异"在Swift中不是致命的错误。它更像是一个指南,也是一个非常烦人的指南。每次你创建一个新变量时都会说,因为你还没有变异它。 Xcode希望您使用let
将所有非变异内容写为常量。
可选类型的值'字符串?'没有打开;你的意思是使用'!'或者'?'? 这是一个非常重要的问题,您可以在SO上找到关于它的数千个问题。 Swift有选项,意味着它可以保留一个值,或者它根本没有任何东西。那将是零。这可能会导致错误,这就是您使用"!"和"?"。如果您使用"!"声明或解包。结果将被处理,就像它不是可选的。它可能仍然是零,但不会检查是否为零。如果你想让它更模糊,可以使用"?"这样,Xcode会一直警告您正在使用可选项。
但更多关于此以及如何使用选项编写代码可以通过google / SO找到。
至于String =>诠释。如果我没记错的话,这只适用于NSStrings。因此,请确保在那里获得NSString。否则,你必须将其转换为NSString。
答案 1 :(得分:1)
如果用户输入无法转换为.swiper-container .swiper-slide {
max-width: 700px;
margin-left: 3px;
margin-right: 0!important;
display: inline-block;
width: auto;
overflow: hidden;
}
.swiper-container .swiper-slide img {
width: auto;
}
.swiper-container .swiper-slide:first-child {
margin-left: 0;
}
.swiper-wrapper * {
height: 100%;
}
.swiper-container {
height: 100%;
}
.swiper-container-horizontal > .swiper-pagination {
bottom: auto;
top: 50%;
margin-top: -60px;
}
.swiper-prev,
.swiper-next {
width: 60px;
height: 120px;
background: rgba(0, 0, 0, 0.2);
line-height: 150px;
cursor: pointer;
border-radius: 3px;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}
.swiper-prev {
margin-left: 45px;
float: left;
}
.swiper-next {
margin-right: 45px;
float: right;
}
(例如:" foo")
您可能更愿意重写代码,如下所示:
Int
请注意,我选择if let celsius = celsiusValue.text.toInt() {
//formula : c to f
// 5f = 9c + 160
// output : f
let fah: Double = ( 9 * Double(celsius) + 160 ) / 5
print(fah)
} else {
// Handle Error
}
作为fah
...只是为了处理更高的精确度,而不是针对您的问题的原因。
另请注意,在这种情况下,不需要使用Double
。类似的情况在Swift中很常见并且受到鼓励(与其他语言一样)。
希望这有帮助