Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift/PayMill:将PMTransaction转换为NSObject_Ios_Swift - Fatal编程技术网

Ios Swift/PayMill:将PMTransaction转换为NSObject

Ios Swift/PayMill:将PMTransaction转换为NSObject,ios,swift,Ios,Swift,我正在一个Swift项目中使用 我可以成功创建交易,它们已成功注册到PayMill。创建事务后,我使用以下代码将事务数据传递到我的服务器: 变量transaction的类型为PMTransaction Alamofire给出了以下错误: 2015-02-05 14:56:44.434 MyApp[4070:727012] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Inv

我正在一个Swift项目中使用

我可以成功创建交易,它们已成功注册到PayMill。创建事务后,我使用以下代码将事务数据传递到我的服务器:

变量
transaction
的类型为
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之前,我尝试使用类型
NSObject
声明
dataObject

let dataObject:NSObject = transaction as NSObject
但这似乎对阿拉莫菲尔没有任何影响

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


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

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

            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
,请添加您的解决方案,我将接受您的回答

            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)",
            ]