0

抱歉标题很奇怪,不知道还能写什么。

我正确记录了一个变量,但是当我尝试在命令中使用时返回 null:

- (void)requestAdWithURL:(NSURL *)URL
{
    AdSettingsTVC *settings = [[AdSettingsTVC alloc] init];
    NSString *server = [settings retrieveServerName:settings.serverName];
    ANLogDebug(@"The actual server is %@", server);
    self.URL = URL ? URL : [self adURLWithBaseURLString:[NSString stringWithFormat:@"http://%@", server]];
}

控制台返回

“实际的服务器是服务器 1”

但是我返回的 URL (null)

奇怪的是,如果我手动创建变量

NSString *server = @"asdf";

URL 正确返回 asdf

问题是什么?

非常感谢您的宝贵时间

编辑:什么是“self.URL = URL?URL:[self adURLWithBaseURLString:[NSString stringWithFormat:@"htp://%@", server]];" 被称为主机名,http://servidor1.mob/parameters

- (NSURL *)adURLWithBaseURLString:(NSString *)urlString {
    urlString = [urlString stringByAppendingString:[self placementIdParameter]];
    urlString = [urlString stringByAppendingString:ANUdidParameter()];
    urlString = [urlString stringByAppendingString:[self dontTrackEnabledParameter]];
    urlString = [urlString stringByAppendingString:[self deviceMakeParameter]];
    urlString = [urlString stringByAppendingString:[self deviceModelParameter]];
    urlString = [urlString stringByAppendingString:[self carrierMccMncParameters]];
    urlString = [urlString stringByAppendingString:[self applicationIdParameter]];
    urlString = [urlString stringByAppendingString:[self firstLaunchParameter]];

    if ([self.delegate respondsToSelector:@selector(extraParametersForAdFetcher:)]) {
        NSArray *extraParameters = [self.delegate extraParametersForAdFetcher:self];

        for (NSString *param in extraParameters) {
            urlString = [urlString stringByAppendingString:param];
        }
    }

    return [NSURL URLWithString:urlString];
}

我不知道它是否改变了任何东西,但是在void中调用了adURLWithBaseURLString,但是问题不应该在url函数中

4

0 回答 0