0
我有點困惑如何處理在Objective-C的web服務結果...從objective-c調用時,我是否需要每個Web方法都有一個單獨的類文件?
我希望把一個類文件名webservices.h我所有的Web服務調用,.M
但每個Web方法共享dataReceived和解析XML的相同委託。
如何知道哪一個調用的結果是全部存在於一個類中?
我有點困惑如何處理在Objective-C的web服務結果...從objective-c調用時,我是否需要每個Web方法都有一個單獨的類文件?
我希望把一個類文件名webservices.h我所有的Web服務調用,.M
但每個Web方法共享dataReceived和解析XML的相同委託。
如何知道哪一個調用的結果是全部存在於一個類中?
如果我正確理解你的問題,你絕對可以做到這一點。只需要有不同的「Web服務」實例,比如NSURLConnection,並將傳遞給委託方法的連接與實例進行比較。因此,在一類使用多個NSURLConnections的例子:
在webservices.h:
NSURLConnection *connection1;
NSURLConnection *connection2;
NSMutableData *receivedData1;
NSMutableData *receivedData2;
在webservices.m
:
- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
if (connection == connection1) {
[receivedData1 appendData:data];
} else if (connection == connection2) {
[receivedData2 appendData:data];
}
是最好的方式做到這一點?其他人如何實現這一目標?所以如果我的webservice.asmx有10個Web方法,那麼我需要在我的webservice.m類中有10個連接實例?連接對象中是否有任何可用於比較的連接對象? – Arcadian
據我所知,這是在單個類文件中異步執行的唯一方法(如果您按順序加載服務,則可以重複使用NSURLConnection對象,但速度會更慢)。請注意,您還需要單獨的NSMutableData實例來接收數據,否則可能會將多個服務返回寫入同一數據對象。 – Keller