我目前正在寫一個幫手來包裝我的alamofire請求。並想知道當我從我的助手類收到消息時,或者如何從我的助手類與我的視圖控制器進行通信,我應該如何呈現此alertviewcontroller時,我該如何presentalertviewcontroller?從輔助方法的當前視圖控制器
以下是我的,如果你看到我做錯了,建議任何事情,因爲這是我第一次寫api包裝。
import UIKit
import Alamofire
import SwiftyJSON
import SVProgressHUD
class AlamoHelper: NSObject {
class func request(method: Alamofire.Method, url: URLStringConvertible, var parameters: [String: AnyObject]? = nil) -> Alamofire.Request {
parameters!["os"] = "ios"
if let versionString = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as? String {
parameters!["v"] = versionString
}
SVProgressHUD.showWithMaskType(SVProgressHUDMaskType.Black)
return Alamofire.request(method, url, parameters: parameters, encoding: .JSON)
.responseJSON {
response in
SVProgressHUD.dismiss()
switch response.result {
case .Success:
let json = JSON(response.result.value!)
if let message = json["message"].string {
let alert = UIAlertController(title: json["subject"].stringValue, message: message, preferredStyle: .Alert)
let okAction = UIAlertAction(title: "OK", style: .Cancel, handler: nil)
alert.addAction(okAction)
}
if json["status"].intValue == 401 {
AppDelegate.isLoggedIn = false
AppDelegate.removeCookies()
}
break
case .Failure:
break
}
}
}
}
任何建議寫第1步?因爲它可能是一個表視圖控制器或一個標籤欄視圖控制器嗎?再次抱歉,如果這聽起來很愚蠢,但我真的有點新。 – Happiehappie
@Happiehappie:不需要,您需要在助手類中編寫構造函數。我的意思是init方法。我已經更新了我的答案。請將代碼轉換爲swift。 –