2015-06-21 62 views
3

我熟悉contains(array, object)函數,但我需要一個「不包含」函數。我想不出任何邏輯來解決它,所以我可以使用一些幫助!Swift 2:doesNotContain方法爲Array

我的代碼目前與我需要的完全相反。它只追加completedTrades數組中包含的對象;我希望它追加每個不在completedTrades中的對象。

代碼是在這裏:

requestsQuery.findObjectsInBackgroundWithBlock { 
     (objects: [AnyObject]?, error: NSError?) -> Void in 
     if error == nil { 
      if let objects = objects as? [PFObject] { 
       for object in objects { 
        if contains(object["completed"] as! [String], object["objectId"] as! String) { 
         usernames.append(object["requesterUsername"] as! String) 
         users.append(object["requester"] as! PFUser) 
         objectIds.append(object.objectId!) 
         tradeId.append("requested") 
        } 
       } 
      } 
     } else { 
      println(error) 
     } 
     self.tableView.reloadData() 
    } 
+3

'if!contains(...){...}'??? – luk2302

+0

謝謝。不能相信我忘了試一下。 – bkwebhero

+0

你有3 upvotes爲:O – luk2302

回答

4

感覺啞。

!contains(object["completed"] as! [String], object["objectId"] as! String) 
1

你也可以寫在陣列擴展

extension Array { 
    func doesNotContain <T: Equatable> (items: T...) -> Bool { 
     return !contains(items) 
    } 
} 

現在你可以使用它像yourArray.doesNotContain(item1, item2, item 3)