2015-08-25 63 views
-2

內的NSString分配的NSString我需要應用像下面如何使用目標C

NSString *parse = @"http://xyz?%@%@name=%@&age=%@"; 

NSString *name_val = namestring; // assigned string value I am getting from storage 
NSString *age_val = agestring; 

我需要assign像下面

NSString *url = [NSString stringWithFormat:parse,name_val,age_val]; 

如果我不喜歡下面我可以得到精確的NSStringURL string

NSString *url = [NSString stringWithFormat:parse,name_val.text,age_val.text]; 

請給我一個很好的解決方案我的問題

+0

你會給與你想創建一個URL的例子。 – Rajat

+0

我很困惑,你的'stringWithFormat'有兩個參數,而你的格式有4個,如果你只是從格式中刪除兩個參數,或者添加到stringWithFormat那麼第一個例子'NSString * url = [NSString stringWithFormat:parse, name_val,age_val];'按預期工作。 – hoss

+0

不,實際上如果我用解析的方式賦值UITextfield的值,它正好解析「%@」的地方,但如果賦值,三個刺入單個的NSString的形成,它在解析「%@」的地方沒有正確的解析。 – MrDoubt

回答

2

你似乎在你的格式參數的不同數目:

http://xyz?%@%@name=%@&age=%@

這種格式是尋找4個對象。

更改格式http://xyz?name=%@&age=%@與您的格式按預期工作:

NSString *parse = @"http://xyz?name=%@&age=%@"; 

    NSString *name_val = @"name"; 
    NSString *age_val = @"99"; 

    NSString *url = [NSString stringWithFormat:parse,name_val,age_val]; 
    printf("%s", [url UTF8String]); 

回報:

http://xyz?name=name&age=99 
+0

太棒了。謝謝霍斯! – MrDoubt