在 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Swift和Objective-C混合编程

Objective-C中的Url减去查询字符串

Objective-C:从本地通知打开 URL

在 Objective-c 中使用 AFNetworking 对字典进行 URL 编码

如何打开一个没有使用 Objective-C 显示的选项卡但有一个确定按钮的 URL?

来自 Objective-C 中 URL 的数组