将NSURL存储在全局变量中

时间:2016-08-17 03:35:54

标签: swift nsurl

我目前正在开发一个应用程序,用户可以将自己喜欢的地方保存到表格视图中,然后在该表格视图中选择一行,打开一个带有Web视图的新视图控制器。在该网络视图中,我希望它显示用户添加到表格中的位置的Google搜索。

我已尝试使用NSUserDefaults尝试保存Google搜索的网址,但我无法从其他视图控制器文件中访问它。

我在google上进行了研究,但仍无法找到我正在寻找的内容。

我想了解是否有人知道如何保存网址并从其他文件中访问该网址,以作为网络视图显示的网址。

这是我的代码: SecondViewController(具有表格视图,其中包含用户保存的地点的名称,选择应该打开视图,谷歌搜索用户保存的地点的名称)

public static bool ResolveTest(string hostNameOrAddress, int millisecond_time_out)
{
    ResolveState ioContext = new ResolveState(hostNameOrAddress);
    var result = Dns.BeginGetHostEntry(ioContext.HostName, null, null);
    var success = result.AsyncWaitHandle.WaitOne(TimeSpan.FromMilliseconds(millisecond_time_out), true);
    if (!success)
    {
        ioContext.Result = ResolveType.Timeout;
    }
    else
    {
        try
        {
            var ipList = Dns.EndGetHostEntry(result);
            if (ipList == null || ipList.AddressList == null || ipList.AddressList.Length == 0)
                ioContext.Result = ResolveType.InvalidHost;
            else
                ioContext.Result = ResolveType.Completed;
        }
        catch
        {
            ioContext.Result = ResolveType.InvalidHost;
        }
    }
    Console.WriteLine($"The result of ResolveTest for {ioContext.HostName} is {ioContext.Result}");
    return ioContext.Result == ResolveType.Completed;
}

1 个答案:

答案 0 :(得分:0)

我使用结构来为不同的端点定义基本URL,如下所示。根据我的需要,所有型号和视图控制器都可以访问它。我想这是你的要求。

struct URL {
private static let BaseURL = "https://yourdomain.com/urlendpoint/api/"
private static let CurrentVersion = "v202/json/en/"
private static let year15 = "2015/"
private static let currentYear = "2016/"

//MARK:- Update URl
static var UpdateURL: String {
    return BaseURL + CurrentVersion + currentYear + "update.json"
}

static var FirstURL: [String] {
    var urls: [String] = []
    for i in 0...11 {
        urls.append(BaseURL + CurrentVersion + currentYear + + FirstMonth + String(i) + ".json")
    }
    return urls
}


static var SecondURL: String {
    return BaseURL + CurrentVersion + "second.json"
}

//MARK:- Dream
static var ThirdURL: String {
    return BaseURL + CurrentVersion + "third_results.json"
}

static var FourthURL: String {
    return BaseURL + CurrentVersion + "fourth.json"
}

static var FifthURL: String {
    return BaseURL + CurrentVersion + currentYear + "fifth.json"
} 

}