2015-10-28 46 views
0

我正在尋找一個陣列上做一個循環,但希望有一個條件後停止。這就是我現在的(順便說一下,我使用Parse作爲後端)。iOS版 - 斯威夫特 - 環與陣列和條件

let query = PFQuery(className: "MyObject") 
query.whereKey("user", equalTo: PFUser.currentUser()) 
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]!, error:NSError!) -> Void in 
     if error == nil { 
      for object in objects { 
       print(object.objectId) 
      } 
     } 
} 

此代碼打印每個objectId。

現在讓我們想象一下,我想打印每個對象,直到我找到一個對象objectId == "xxx"

我該怎麼做?

+1

可以退貨或者脫離循環。 if objectId ==「xxx」{break/return} – Adrian

+0

Swift是否沒有break的概念?這是從大多數語言的循環中跳出的標準方法。 – GordonM

回答

2

試試這個

for object in objects { 
      print(object.objectId) 

     if object.objectId == "xxx" 
     { 
     // object Name is found 
     // if you like to break the execution use "break" 
     //break 
     } 
     else 
     { 
      // object ID not found 
     } 
     } 
2

我覺得filter是你在找什麼

let objects = [["id": 1], ["id": 2], ["id": 3]] 
objects.filter { $0["id"] != 3 }.forEach { print($0) } 
2

如果你想過濾的ObjID和執行一些代碼:

let array = ["id1", "id2", "id3", "id4"] 
for objId in array where objId != "id3" { 
    print(objId) 
}