无法使用“ null”检查开关案例。迅速的价值
要检查多个条件,我正在使用切换语句
代码:在这里所有情况都很好,但是。 如果USER_DETAILS?。 “”< =“ 1.9”
为什么?
如果我强迫unwrap case _ where(user_details?。评级)! 应用程序会崩溃
?。
< =“ 1.9”:然后,当访问此 user_details时,
switch user_details?.rating{
case "1.0":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "staremp")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
case _ where user_details?.rating ?? "" <= "1.9":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "star-half")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
case "2.0":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "star")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
case _ where user_details?.rating ?? "" <= "2.9":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "star")
star3.image = UIImage(named: "star-half")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
default:
star1.image = UIImage(named: "staremp")
star2.image = UIImage(named: "staremp")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
}
To check multiple conditions i am using switch statements
code: here all cases working fine but. if user_details?.rating = ""
is empty then i need to show default case i mean all stars empty but its going to case _ where user_details?.rating ?? "" <= "1.9"
why?
if i do force unwrap case _ where (user_details?.rating)! <= "1.9":
then app getting crash when reach this
user_details?.rating = "" then how to show all stars empty
please guide me
switch user_details?.rating{
case "1.0":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "staremp")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
case _ where user_details?.rating ?? "" <= "1.9":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "star-half")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
case "2.0":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "star")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
case _ where user_details?.rating ?? "" <= "2.9":
star1.image = UIImage(named: "star")
star2.image = UIImage(named: "star")
star3.image = UIImage(named: "star-half")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
default:
star1.image = UIImage(named: "staremp")
star2.image = UIImage(named: "staremp")
star3.image = UIImage(named: "staremp")
star4.image = UIImage(named: "staremp")
star5.image = UIImage(named: "staremp")
break
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该应用程序崩溃了,因为您是
强制打开
user_details?。评估
基本上说:此属性具有不nil
的值,如果我错了,崩溃了。尝试Unbrapping
USER_DETAILS?。评估
在Switch语句之前安全地:使用如果让:
使用
guard
:提供默认值:
然后您的代码看起来像:
The app is crashing because you are
force unwrapping
user_details?.rating
which basically says: This property holds a value that is notnil
, and if I'm wrong crash the app.Try unwrapping
user_details?.rating
safely before the switch statement:Using
if let
:Using
guard let
:Providing default value:
Then your code will look like: