【问题标题】:IOS IBAction button not going to website using URLIOS IBAction 按钮不使用 URL 访问网站
【发布时间】:2026-02-08 08:45:02
【问题描述】:

我在视图控制器上有一个按钮,我想单击该按钮,然后它会转到一个网站。 该网站位于 parse.com。

代码如下

- (IBAction)WebAddressBtn:(id)sender {
    NSString *url = [self.exam objectForKey:@"Website"];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
    NSLog(@"website: %@",url);
}

NSLog 为值 url 显示 Null

但数据保存在

self.exam objectForKey:@"Website"

NSLog 确认它在那里

这行得通,会去谷歌

- (IBAction)WebAddressBtn:(id)sender {


    NSString *url = @"http://www.google.com";
    //[self.exam objectForKey:@"Website"];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
    NSLog(@"website: %@",url);


}

如果我尝试

NSURL *url = [self.exam objectForKey:@"Website"];

url 仍然显示为 Null 但我知道数据在 self.exam objectForKey:@"Website

数据的 NSLog 输出

    name = "DMK Media & Photography Ltd";
    phone1 = 01993835148;
    phone2 = 07795966848;
    postcode = "OX28 4BT";
    products = "<PFRelation: 0x10dc75320>(<00000000 00000000>.(null) -> products)";
    website = "http://www.dmkmedia.co.uk";

【问题讨论】:

  • 您是否检查了 [self.exam objectForKey:@"Website"]; 的值。请将此记录在您的问题中。
  • 在向其添加对象之前,您可能会调用self.exam。或者,如果self.exam 是 NSMutableDictionary,请在调用 -setObject:forKey: 之前检查您是否已初始化它
  • 什么意思,“不去网站”? Safari 打不开?它转到了错误的站点?请尽可能具体。
  • [self.exam objectForKey:@"Website"]的类型是什么?有没有可能它已经是NSURL 而不是NSString
  • 它什么也没做,但如果我将 htt://www.google.com 硬编码到其中,那么它将转到 google

标签: ios xcode nsurl ibaction


【解决方案1】:

[UIApplication sharedApplication] openURL 如果没有正确格式化的 url 将无法正常工作。请检查您的网址是否有“http://”

【讨论】:

  • 可以在这里粘贴网址吗?或者硬编码 url google.com 看看它是否有效。
  • 因此它确认 url 不正确,如果没有看到您的 URL,我们将无法进一步帮助您。 :)
  • NSlog 输出现在在带有 url 的主帖中
  • 网站拼写错误? W是小写。是这个问题吗?