2013-02-26 102 views
6

मुझे लगता है कि एप्लिकेशन मैं मेरे कोड NSURL में एक समय में एक से अधिक पैरामीटर भेजने की जरूरत है एक अनुप्रयोग विकसित कर रहा हूँआईओएस में NSURL स्ट्रिंग में एकाधिक पैरामीटर कैसे पास कर सकते हैं?

responseData = [[NSMutableData data] retain]; 
ArrData = [NSMutableArray array]; 
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@",strfrom,strto,strgo]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; 
//NSURLRequest *request1 = [NSURLRequest requestWithURL: 
//[NSURL URLWithString:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=1",strfrom,strto]]; 

ऊपर कोड मैं एक से अधिक पैरामीटर गतिशील रूप से पारित करने के लिए की जरूरत है। क्या यह संभव है ? यदि यह है, तो कैसे? धन्यवाद & संबंध

+1

'NSSString तरह यूआरएल कुछ में जोड़ने से पहले एक अलग स्ट्रिंग बनाने का प्रयास करें * str = [NSString stringWithFormat: @ "http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@", strfrom, strto, strgo] 'और फिर यह स्ट्रिंग URL – nsgulliver

+0

पर जोड़ें पहले सभी पैरामीटर को एनएसएसटींग को पास करें और फिर NSRL को अंतिम स्ट्रिंग असाइन करें। – jamil

+0

मैं आपके प्रश्न को पूरी तरह से समझने में सक्षम नहीं हूं। आप अभी भी अपने प्रश्न – Warewolf

उत्तर

5

अंत में, अपने कोड अनुरोध में जोड़ने की तरह

NSSString *strURL=[NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@"‌​,strfrom,strto,strgo]; 

और फिर यूआरएल कुछ में जोड़ने से पहले एक अलग स्ट्रिंग बनाने का प्रयास करें

NSURL *url = [NSURL URLWithString:strURL]; 

URL को यह strURL जोड़ने गलत है जहां आप अनुरोध करने के लिए यूआरएल जोड़ रहे हैं, यूआरएल एक स्ट्रिंग नहीं है, यह एक यूआरएल है, इसलिए यह requestWithURLURLWithString नहीं होना चाहिए, यह

जैसा होना चाहिए
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
+1

सही समाधान ..... धन्यवाद usgulliver – areddy

+0

आपका स्वागत है अजीब! – nsgulliver

1

एक बात इन उत्तरों के कई याद आ रही है [NSString stringByAddingPercentEscapesUsingEncoding:] के उपयोग URL में अमान्य वर्ण का उपयोग कर से बचना है:

NSString *baseURL = [NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@",strfrom,strto,strgo]; 
NSURL *url = [NSURL URLWithString:[baseURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
+0

यह एक अच्छा बिंदु है लेकिन ध्यान दें कि stringByAddingPercentEscapesUsingEncoding पूरी तरह से आपकी स्ट्रिंग को एन्कोड नहीं करता है। यह चीजों को याद करता है जैसे/और &। स्टैकओवरफ्लो में उदाहरण बनाने का एक समूह है कि आप अपना खुद का तरीका कैसे बना सकते हैं। –

+0

लेकिन ट्रोजनफ़ो का जवाब मेरे लिए, एक यूआरएल के हिस्से के रूप में एक यूनिकोड शब्द भेजने का एक अभिन्न अंग था। तो उसे +1। –