2011-05-19 30 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方法。

相关问题