2015-02-05 44 views
1

我需要检查item是否与newItem不相同。 item类型是字符串,而newItem类型是(字符串)和Xcode抱怨它无法比较。在Swift中比较字符串相等:String!=(String)

for (index, item) in enumerate(components) { 
    let newItem = cleanItem(item) 
    if newItem != nil && newItem != item { 
     // update 
    } else { 
     // delete item 
    } 
} 
+0

会发生什么? – 2015-02-05 21:22:59

+0

你可以给我们'cleanItem'的签名吗? – 2015-02-05 21:27:21

回答

0

我需要从字符串改变cleanItem返回类型为String?因为它需要被允许返回零。然后一切正常。理解混乱。

+0

由于您自己解决了这个问题,因此您可能希望删除该问题或至少更新与实际问题相关的标题。它与将String与(String)进行比较无关,而是将String与nil进行比较。 – 2015-02-05 22:12:22

0

newItemTuple Type,所以你必须在比较之前提取值:如果你试着去`的newitem [0]`

if newItem.0 && newItem.0 != item {...} 
+1

在迅速,没有必要这样做。单个项目的元组与项目本身是相同的。 '(String)'与'String'没有区别,可以直接比较(在Playground中试试:) – 2015-02-05 22:09:33

+0

不知道。谢谢@大卫:) – Armin 2015-02-06 01:43:23

相关问题