2014-12-28 67 views
0

当我尝试使用Xcode 6中的if/else语句与Swift时出现错误。这是我其他/如果声明帮助迅速

} else if countElements(sender.text) == 1, 2 

它告诉我: '串'

类型不符合协议'_CollectionType'

如何在一条线上比较两个值?

+0

是的,我需要它看看1或2. – Cam193

回答

1

您可以使用“||” =“或”

} else if countElements(sender.text) == 1 || countElements(sender.text) == 2 { 

} 
+0

这是最简单的方法吗?或者我可以使用像} else if countElements(sender.text)== 1,2? – Cam193

+0

不,你不能做这样的两个比较。 –

+0

是的,就像在苹果的Dev库上一样,它们的整数值就像这样,除了它们使用“let”语句。如let x =(1,2) – Cam193

0

对方回答正确地显示,以使斯威夫特2个对比的方式,但是这可以在一个声明中感谢斯威夫特的模式匹配操作来完成。例如:

if 1...2 ~= countElements(sender.text) { 
    println("count is 1 or 2") 
} 

基本上,所提供的说法是正确的,如果你的字符串中的字符数是包含地1和2之间

0

您还可以使用contains全局函数,它提供了一个范围,要检查包含的元素:

contains(1...2, countElements(sender.text))