2

I have a method that receive from a SOAP method a result as:

SDZPaymentResult* result = (SDZPaymentResult*)value;

If I use: NSLog(@"%@", result);

It shows:

<CXMLElement 0x20d9c950 [0x20dccc40] ns1:paymentResult 
<ns1:paymentResult>
<additionalData xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<authCode xmlns="http://payment.services.adyen.com">76419</authCode>
<dccAmount xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<dccSignature xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<fraudResult xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<issuerUrl xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<md xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<paRequest xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<pspReference xmlns="http://payment.services.adyen.com">8813677969778790</pspReference>
<refusalReason xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
<resultCode xmlns="http://payment.services.adyen.com">Authorised</resultCode>
</ns1:paymentResult>>

Have a way to change result into a NSString?

4

3 回答 3

4

%@格式说明符调用对象的方法,该description方法将返回NSString您正在查找的内容。但是您可能想重新考虑您的解决方案,这不是description它的用途,如果它不是您的类之一,则返回的值可能会更改并破坏您的代码!检查是否没有其他方法可以更可靠地获取数据。

于 2013-05-06T01:58:25.643 回答
0

正如@JustSid 所说,您可以使用另一种方式:

NSLog(@"%@", result.description);

你的方式和这种方式是一样的,所以如果你想改变“结果”,你必须改变描述方法的返回值,如果你想改变它,你必须是“结果”类的所有者。

我认为你必须继承“结果”类,你可以做任何你想做的事情!

于 2013-05-06T03:11:42.580 回答
-1

使用 NSString 格式化程序:

NSString *newString = [NSString stringWithFormat:@"%@", result];
于 2013-05-06T01:55:51.933 回答