ios - 如何为所有 api 链接创建一个单独的类并将该 api 调用到所有 View Controller

标签 ios swift api nsurlconnection

我有登录、注册、 TableView 、 Collection View 、 map View Controller 。在所有这些 Controller 类中,我都有单独的 myphp api url。我的基本 url 是 "Http://some url"。在我的所有 View Controller 中,我这样调用所有 View Controller 中的每个 url。取而代之的是,可以创建一个类并在那里创建所有 url。并调用 url 的名称,如 login.php 或 login,就像我所有的明智 View Controller ??

如果可能,任何人都可以向我推荐一些代码示例,这样它会非常有帮助。

我正在使用 swift 2.0

谢谢

最佳答案

import UIKit

struct APIURLFactory {
    let baseURL : NSURL!

    init(baseURL: NSURL) {
        self.baseURL = baseURL
    }

    func relativeURL(path: String) -> NSURL? {
        return NSURL(string: path, relativeToURL: baseURL)?.absoluteURL
    }

    func relativeURLString(path: String) -> String? {
        return NSURL(string: path, relativeToURL: baseURL)?.absoluteString
    }
}

let myFactory = APIURLFactory(baseURL: NSURL(string: "http://my.php.api.com/")!)

// This yields the URL http://my.php.api.com/login.php
let loginURL = myFactory.relativeURL("login.php")

// This yields the URL http://my.php.api.com/register/php
let registerURL = myFactory.relativeURL("register/php")

关于ios - 如何为所有 api 链接创建一个单独的类并将该 api 调用到所有 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36300164/

相关文章:

ios - ios/mac 开发者的 iCloud 替代品

ios - 如何在 iOS 的 UIAlertcontroller 中显示 UITableview?

ios - 如何在 1 个 TableView Swift 4 中显示 2 种类型的单元格

api - HTTPS 请求仅在 iOS、Ionic 2 上失败

c# - 按 ID 或按类型和语言更新资源的 RESTful 约定

javascript - 如何删除多个数组项

ios - LaunchImage 没有运行我的自定义图像

ios - UINavigationBar 高度错误,因为状态栏在加载时被隐藏

swift - 快速测试写时复制

swift - 检查对象是否是列表的一部分