当从文本字段获取参数时,我应该在修剪之前检查null吗?



我正在考虑这样做:

    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
}

最新更新