如何为所有 API 链接创建一个单独的类并调用该 API 到所有视图控制器

问题描述 投票:0回答:2

我有登录、注册、表视图、集合视图、地图视图控制器。在所有这些控制器类中,我都有单独的

myphp api url
。我的基本网址是
"Http://some url"
。在我的所有视图控制器中,我这样调用
""Http://some url/login.php", "Http://some url/register/php"
。同样,我在所有视图控制器中调用每个 URL。相反,可以创建一个类并在那里创建所有 URL。并在我所有的视图控制器中调用类似
login.php or login
的 URL 名称??

如果可能的话,任何人都可以建议我一些代码示例,这样它将非常有帮助。

我正在使用 swift 2.0

ios swift nsurlconnection
2个回答
2
投票
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")

0
投票

是的,创建一个新文件,该文件应该继承自 NSObject..

如 common.h 和 common.m

并将所有 URL 存储在图像中显示的公共类中,作为 .h 文件中的 MACRO

当使用 URL 时,只需将这个公共类添加到您的视图控制器并使用它即可。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.