在 Objective-C 中建立一个 URL [关闭]
Posted
技术标签:
【中文标题】在 Objective-C 中建立一个 URL [关闭]【英文标题】:Building up a URL in Objective-C [closed] 【发布时间】:2013-05-08 09:40:17 【问题描述】:我想向不同的服务器发出请求 我只想在文本字段中填写 url 或 ip 地址。 我建立了不同的解决方案,但都失败了。我想这个我很接近。
这是我目前构建的:
NSString *part0 = @"http://";
NSString *part1 = [NSString stringWithFormat:@"%@" , _serveradres.text ];
NSString *part2 = @"/API/";
NSString *compURL = [NSString stringWithFormat:@"%@" , part0 , part1 , part2 ];
NSURL *url = [NSURL URLWithString:compURL];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
只是地址不同,api都是同一个地方的。
稍后我想做一个可以选择http或https的开关
【问题讨论】:
提示:在调试器中查看compURL
。
提示:不要接受你看到的第一个答案。查看给出的答案并尝试理解每个答案所描述的内容。 Augustine P A 和我自己的答案将使您得到相同的结果,但解决方案更有效。努力找出答案并了解正在发生的事情。在不了解您在做什么的情况下,仅复制和粘贴代码是一种不好的做法。
我确实切换到了较小的解决方案;)谢谢。
如果您更改并使用了不同的答案,您应该将该答案标记为正确答案。这将节省其他人在查找此线程时的时间。
【参考方案1】:
这样做
NSString *compURL = [NSString stringWithFormat:@"http://%@/API/", serverAddr];
【讨论】:
这仅在我使用 _serveradres.text 时有效 serverAddr 供您参考。您已将其替换为“_serveradres.text”【参考方案2】:不需要所有实例化的NSString
:
NSString *compURLString = [NSString stringWithFormat:@"http://%@/API/", _serveradres.text]; // Probably ought to be self.serveradres.text instead.
NSURL *url = [NSURL URLWithString:compURLString];
*注意 - 我将指向 compURL 的指针的名称更改为 compURLString。以变量的作用和它们的本质命名变量的习惯将在以后避免您头疼。
【讨论】:
谢谢这也有效,我不确定哪种方法最适合我使用 阅读我对上述问题的评论。我的解决方案或奥古斯丁的解决方案都更好,因为您实例化的 NSString 对象较少。更高效几乎总是更好:)【参考方案3】:你应该改变这个:
NSString *compURL = [NSString stringWithFormat:@"%@" , part0 , part1 , part2 ];
到这里:
NSString *compURL = [NSString stringWithFormat:@"%@%@%@" , part0 , part1 , part2 ];
因为现在您的 compURL
将只是 http://
希望对你有帮助
【讨论】:
现在我用这个。谢谢! :D以上是关于在 Objective-C 中建立一个 URL [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 Objective-c 中使用 AFNetworking 对字典进行 URL 编码