如何解决如何检查无条目的数组和条目的伴随数组?
我正在将用Objective-C编写的纸牌游戏移到Swift。在我的手牌类中,我有2个数组,大小均为3,一个数组容纳3张并排的羽绒卡,另一个数组容纳羽绒卡顶部的插卡。可以玩上牌和未下牌的纸牌,因此阵列可以容纳一些纸牌,而某些元素为零,因为阵列单元正在处理纸牌的实际位置。这些被声明为
var downCards: [Card] = []
var upCards: [Card] = []
downCards.reserveCapacity(3)
upCards.reserveCapacity(3)
在目标C中,以下代码可以告诉我是否有未发现的失灵卡,效果很好:
if ((handOfCurrentPlayer.upCards[cardLeft] == nil) &&
(handOfCurrentPlayer.downCards[cardLeft] != nil)) {}
但是在Swift中,我得到“将'Card'类型的非可选值与'nil'进行比较,总是返回false”
我对Swift还是很陌生,无法弄清楚如何以不同的方式声明数组,或者使用可选的选项和解包功能来检查是否缺少卡片(换句话说,无)。
解决方法
如果数组可以包含nil
个元素,则必须使用可选类型声明数组
var downCards: [Card?] = []
var upCards: [Card?] = []
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。