首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift / PayMill:将PMTransaction转换为NSObject

Swift / PayMill:将PMTransaction转换为NSObject
EN

Stack Overflow用户
提问于 2015-02-05 14:16:23
回答 1查看 45关注 0票数 0

我在一个Swift项目中使用佩米尔的iOS SDK

我可以成功地创建事务,它们已成功地在PayMill中注册。创建事务后,使用阿拉莫火将事务数据传递给服务器的代码如下

代码语言:javascript
复制
//... 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)")
    })

变量transactionPMTransaction类型。有关PMTransaction的更多信息,请参见此处

Alamofire给出了以下错误:

代码语言:javascript
复制
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或任何其他数据类型,以便将数据正确地发送到我的服务器?

在将dataObject传递给Alamofire之前,我尝试使用NSObject类型声明它:

代码语言:javascript
复制
let dataObject:NSObject = transaction as NSObject

但这似乎对阿拉莫火没有任何影响。

为了进行测试,我尝试使用一个泛型对象,在通过Alamofire将它发送到我的服务器后,它成功地存储在我的数据库中,因此问题在于外部数据类型PMTransaction

非常感谢您的建议,如果需要的话,我很乐意发布更多的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-05 15:40:20

我找到了一种更手工的方法来解决我的问题。见下文:

代码语言:javascript
复制
            var dataObject = [
                "id":"\(transaction.id)",
                "description":"\(transaction.description)",
                "amount":"\(transaction.amount)",
                "origin_amount":"\(transaction.origin_amount)",
                "currency":"\(transaction.currency)",
                "status":"\(transaction.status)",
                "livemode":"\(transaction.livemode)",
                "created_at":"\(transaction.created_at)",
                "updated_at":"\(transaction.updated_at)",
                "response_code":"\(transaction.response_code)",
            ]

如果有人能想出一个更好的方法来转换PMTransaction,请添加您的解决方案,我将接受您的回答。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28346265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档