如何为所有 api link 创建一个单独的 class 并将其 api 调用到所有视图控制器
how to create one separate class for all api link and calling that api to all view controllers
我有登录、注册、table 视图、集合视图、地图视图控制器。在所有这些控制器 classes 中,我有单独的 myphp api url
。我的基础 url 是 "Http://some url"
。在我的所有视图控制器中,我这样调用 ""Http://some url/login.php", "Http://some url/register/php"
。就像我在所有视图 controller.Instead 中调用每个 url 一样,可以创建一个 class并让所有 url there.And 调用 url 的名称,就像 login.php or login
,在我所有的视图控制器中一样明智??
如果可能的话,谁能给我一些代码示例,这样会很有帮助。
我正在使用 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")
是的,新建一个应该从 NSObject 继承的文件..
喜欢common.h和common.m
并存储所有 URL 的共同点 class 在图像中显示为 .h 文件中的 MACRO
每当使用 URL 时,只需将这个通用的 class 添加到您的视图控制器并使用它。
我有登录、注册、table 视图、集合视图、地图视图控制器。在所有这些控制器 classes 中,我有单独的 myphp api url
。我的基础 url 是 "Http://some url"
。在我的所有视图控制器中,我这样调用 ""Http://some url/login.php", "Http://some url/register/php"
。就像我在所有视图 controller.Instead 中调用每个 url 一样,可以创建一个 class并让所有 url there.And 调用 url 的名称,就像 login.php or login
,在我所有的视图控制器中一样明智??
如果可能的话,谁能给我一些代码示例,这样会很有帮助。
我正在使用 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")
是的,新建一个应该从 NSObject 继承的文件..
喜欢common.h和common.m
并存储所有 URL 的共同点 class 在图像中显示为 .h 文件中的 MACRO
每当使用 URL 时,只需将这个通用的 class 添加到您的视图控制器并使用它。