我有一个从SOAP方法接收结果的方法:
SDZPaymentResult* result = (SDZPaymentResult*)value;
如果我使用:NSLog(@"%@", result);
它显示:
<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>>
有办法将结果更改为NSString吗?
答案 0 :(得分:4)
%@
格式说明符调用对象的description
方法,该方法将返回您要查找的NSString
。但是你可能想重新考虑你的解决方案,这不是description
的用途,如果它不是你的一个类,返回的值可能会改变并破坏你的代码!检查是否没有其他方法以更可靠的方式获取数据。
答案 1 :(得分:0)
正如@JustSid所说,你可以用另一种方式:
NSLog(@"%@", result.description);
你的方式和方式是一样的,所以如果你想改变“结果”,你必须改变描述方法的返回值,如果你想改变它,你必须是“结果”类的所有者”
我认为你必须继承“结果”类,你可以做任何你想做的事情!
答案 2 :(得分:-1)
使用NSString格式化程序:
NSString *newString = [NSString stringWithFormat:@"%@", result];