2011-05-19 64 views
0

當我寫這篇文章:把一個文本字段的值到另一個字符串中

NSLog("Text Value %@",statutsField.text); 

它做工精細,但是當我這樣做:

NSURL *url = [NSURL URLWithString:@"http://MyUrl/%@",statutsField.text]; 

我得到一個錯誤:

too many argument to method call, expected ...

請幫忙。

回答

2

URLWithString:只接受一個參數;一個單一NSString。你傳遞了兩個字符串@"http://MyUrl/%@"statutsField.text中的字符串。

您需要構建字符串的組合版本,並將該組合版本傳遞給URLWithString:。使用+[NSString stringWithFormat:]此:

NSString * myURLString = [NSString stringWithFormat:@"http://MyUrl/%@", statutsField.text] 
NSURL * myURL = [NSURL URLWithString:myURLString]; 

功能NSLog接受可變數目的參數的基礎上,format specifiers它所發現在它的第一串(格式字符串)的數量;這就是您撥打NSLog的原因。方法stringWithFormat:的工作方式相似。對於每個%@,它在其第一個參數中找到它從參數列表的其餘部分獲取一個對象,並將其放入結果字符串中。

有關詳細信息,請參見字符串編程指南中的Formatting String Objects

+0

它的工作,塔赫克你所有 – user567 2011-05-19 00:53:13

0

嘗試[NSURL URLWithString:[NSString stringWithFormat:@"http://MyUrl/%@",statutsField.text]];

希望有所幫助。

0

試試這個:

NSString *base = @"http://MyUrl/"; 
NSString *urlString = [base stringByAppendingString:statutsField.text]; 

NSURL *url = [NSURL URLWithString:urlString]; 

URLWithString只接受1參數的方法,但你逝去的兩個參數,即字符串@"http://MyUrl/%@"statutsField.text

所以,你必須事先字符串連接在一起,或內聯使用NSStringstringWithFormat方法。

相關問題