2013-05-06 83 views
2

一個的NSString我有一個方法,從一個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

你想要哪個數據作爲字符串?它只是鏈接?或者是什麼 ?請解釋.. – 2013-05-06 02:19:26

+0

您使用的是TBXML,你還在嗎? – 2013-05-06 02:26:30

+0

顯示的所有結果內容。 – Marckaraujo 2013-05-06 02:26:35

回答

4

%@格式說明調用對象,這將返回NSString你正在尋找的description方法。但是你可能想重新考慮你的解決方案,那不是description的做法,如果它不是你的類中的一個,返回的值可能會改變並破壞你的代碼!檢查是否沒有其他方法以更可靠的方式獲取數據。

+0

我已經使用了[NSString stringWithFormat:@「%@」,result];並且它現在可以工作了,我試圖以更可靠的方式獲得它,但是SDZPaymentResult方法已經破產並且它是一個非常複雜的代碼,我將嘗試從這個結果重新創建一個方法來以各種方式工作。 – Marckaraujo 2013-05-06 02:12:39

+1

@Marckaraujo不要使用'stringWithFormat:',直接在對象上調用'description'方法。 – JustSid 2013-05-06 02:28:12

-1

使用一個NSString格式:

NSString *newString = [NSString stringWithFormat:@"%@", result]; 
+0

不知道爲什麼這會被拒絕投票......這是海報想要的確切答案:「有辦法將結果更改爲NSString?」。 – 2013-05-06 02:10:46

+1

我因爲'stringWithFormat:'不需要而降低了你的評價。它確實回答了這個問題,但在對象上調用「description」效率要高得多(雖然這也不是一個好習慣) – JustSid 2013-05-06 02:59:13

0

正如@JustSid說,你可以用另一種方式:

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

你的路,這種方式是相同的,所以如果你想改變「結果」,你必須改變返回值的描述方法,如果你想改變它,你必須是「結果」類的所有者。

我認爲你必須繼承「結果」類,你可以做任何你想要的!