2015-08-02 6 views
0

Мне удалось получить некоторые данные, которые можно передать в приложение Apple Watch из родительского приложения, однако теперь я ищу передать массив. На данный момент у меня есть работа с двумя отдельными строками, однако я не могу понять, как заставить его работать с 2 массивами.Передача массива для просмотра приложения с handleWatchKitExtensionRequest

Вот мой текущий код в приложение часы:

func reloadTable() { 
    WKInterfaceController.openParentApplication(["pfquery_request": "pfquery_request"]) { userInfo, error in 
     println("User Info: \(userInfo)") 
     println("Error: \(error)") 

     var data = (userInfo as NSDictionary) 

     if let success = data["success"] as? NSNumber { 
      if success.boolValue == true { 
       var name = data.objectForKey("Name") as! String 
       var waitTime = data.objectForKey("WaitTime") as! String 
       println(name) 
      } 
     } 
    } 
} 

И в родительском приложении:

func application(application: UIApplication, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?, reply: (([NSObject : AnyObject]!) -> Void)!) { 
    if let pfqueryRequest: AnyObject = (userInfo as? [String: AnyObject])?["pfquery_request"] { 
     var name = "" 
     var waitTime = "" 

     var query = PFQuery(className: "Park") 
     var objects = query.findObjects() 

     if let objects = objects as? [PFObject] { 
      for object in objects { 
       name = (object.objectForKey("Name") as? String)! 
       waitTime = (object.objectForKey("WaitTime") as? String)! 
      } 

      reply(["success": true, "name": name, "waitTime": waitTime]) 
     } 
    } 
} 

Может кто-нибудь мне точку в правильном направлении или обеспечить некоторый пример кода? Я хочу передать массив всех имен объектов и waitTimes.

Спасибо!

ответ

0

Это должно работать, хотя и не проверено!

if let pfqueryRequest: AnyObject = (userInfo as? [String: AnyObject])?["pfquery_request"] { 
     var name : [String] = [] 
     var waitTime : [String] = [] 

     var query = PFQuery(className: "Park") 
     var objects = query.findObjects() 

     if let objects = objects as? [PFObject] { 
      for object in objects { 
       name += (object.objectForKey("Name") as? String)! 
       waitTime += (object.objectForKey("WaitTime") as? String)! 
      } 

      reply(["success": true, "name": name, "waitTime": waitTime]) 
     } 
    } 
Смежные вопросы