我正在考虑这样做:
NSString *path = [NSString stringWithFormat:@"http://www.somedomain.com?id=%@&email=%@",
[id.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]],
[emailField.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]];
可以吗?或者如果字段是空的,会导致某种错误吗?
谢谢!
如果字段为空,则在格式化时将得到包含id=(null)&email=(null)
的url。
在这种情况下,指望nil
使消息短路将不起作用,因为您没有将消息发送给任何将为nil的对象。
你应该单独检查这两个字段,或者将它们设置为@"(如果你的API可以处理),或者从URL中省略查询字符串。
对于修剪是不需要的。因为发送消息到null不会有任何影响,同时你需要检查url是否有效。
您可以使用以下方法检查其是否为空
if ([[emailField text] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]].length ==0 ||[[id text] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]].length ==0 )
{
//Dont call api
}else{
// call api
}