2015-08-24 83 views
0

我試圖創建一個雲碼功能,這將返回多個值返回多個值。現在我正在做的是Parse.com - 從雲代碼功能

response.success({val1 : scores1, val2: scores2}); 

並根據雲代碼記錄一切順利。但是當我在Swift代碼中處理函數時,我不知道應該使用哪種對象。

PFCloud.callFunctionInBackground("myFunction", withParameters: ["value" : 1) { (object:AnyObject?, error:NSError?) -> Void in 
     //what I should cast object for 
    } 

我也有一個想法是我的腦海裏,它可以是一種錯誤的做法爲我基本上試圖找到斯威夫特equivavelnt爲JavaScript對象。如果是這樣,有沒有其他方式從雲代碼函數返回多個值?

我在控制檯日誌時,我的println對象以下。

Optional({ 
poetry = 1; 
rap = 9; 
}) 
+0

雨燕等同於JSON是字典...請執行的NSLog(「\(對象)」),並張貼在這裏輸出......比我能說你如何投這個對象 –

+0

更新了問題所需的信息 –

+0

好吧好吧,謝謝,我知道了,我需要將其轉換爲'字典'。我會接受這個答案,只是發佈它。 –

回答

0

好吧,那麼你的對象是一個字典可選...您可以使用此代碼:

if let responseJSON: [String: Int] = object as? [String: Int] { 
     let poetryValue: Int = object["poetry"] as Int 
     let rapValue: Int = object["rap"] as Int 
} 
0

只是返回具有屬性爲每個返回值或值的數組或字典一個對象(或任何你的船浮筒;))和反序列化在客戶端上。它包含了所有你需要方便地在按摩的數據對象/列表/詞典/這樣,你只有一個返回值,無論...

PFCloud.callFunctionInBackground("myFunction", withParameters: ["value" : 1) { (object:AnyObject?, error:NSError?) -> Void in 
    if let values = object as! [String:Int] { 
    // Do something 
    } 
} 

應該工作

+0

我已經在這一行doiing所以'response.success({VAL1:scores1,VAL2:scores2} );'我不知道如何去實現它。 –