我在Swift項目中使用PayMill's iOS SDK。Swift/PayMill:將PMTransaction轉換爲NSObject
我可以成功創建交易,它們已成功註冊到PayMill。創建交易之後,我有下面的代碼的交易數據傳送到使用Alamofire我的服務器:
//... PayMill SDK initialization here...
PMManager.transactionWithMethod(paymentMethod, parameters: paymentParameters, consumable: true,
success: { (transaction) -> Void in
println("successfully created transaction: \(transaction)")
// pass the data to my Server using Alamofire
// Alamofire POST here...
}, failure: { (error) -> Void in
println("found error: \(error)")
})
的變量transaction
是PMTransaction
型。 See here for more information about PMTransaction。
Alamofire提供了以下錯誤:
2015-02-05 14:56:44.434 MyApp[4070:727012] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (PMTransaction)'
我怎樣才能將它轉換爲,比如說,一個NSObject
,或任何其它數據類型,這樣可以將數據正確發送到我的服務器?
我試着將它傳遞給Alamofire之前聲明dataObject
與NSObject
類型:
let dataObject:NSObject = transaction as NSObject
但它似乎並沒有做出Alamofire任何區別。
爲了測試,我嘗試使用通用對象,並通過Alamofire將它發佈到我的服務器後成功存儲在我的數據庫中,所以問題在於外部數據類型PMTransaction
。
非常感謝您的任何建議,如果需要,我會很樂意發佈更多信息。