当我写这篇文章时:
NSLog("Text Value %@",statutsField.text);
它工作正常,但是当我这样做时:
NSURL *url = [NSURL URLWithString:@"http://MyUrl/%@",statutsField.text];
我得到一个错误:
too many argument to method call, expected ...
请帮忙。
最佳答案
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在字符串编程指南中。
关于objective-c - 将文本字段的值放入另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052495/