protocol file
//
// ServerHandler.swift
// LoginWebService
//
// Created by Krishna on 28/05/16.
// Copyright © 2016 Krishna. All rights reserved.
//
import Foundation
@objc protocol ServerHandler {
func requestFinish(data:NSData)
func error(error:NSError)
optional func request()
}
—————————————————————————————
server Manager File
//
// SerevrManager.swift
// LoginWebService
//
// Created by Krishna on 28/05/16.
// Copyright © 2016 Krishna. All rights reserved.
//
import Foundation
class SerevrManager: NSObject {
var delegate:ServerHandler?
func mackHttpRequest(serviceType:String,param:NSData)
{
// var dic:NSMutableDictionary!
let urlString = "http://jsonplaceholder.typicode.com/todos"
// let mainurl = urlString.stringByAppendingString(serviceType)
// print(mainurl)
guard let url = NSURL(string: urlString)
else
{
print("error in url")
return
}
let jsonString = NSString(data: param, encoding: NSASCIIStringEncoding)
let request = NSMutableURLRequest(URL:url)
request.HTTPMethod = "POST"
request.HTTPBody = jsonString?.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
request.addValue("application/json", forHTTPHeaderField: "Content-type")
let session = NSURLSession.sharedSession()
// let task = session.dataTaskWithRequest(request,completionHandler: {data,response,error -> Void in
let task = session.dataTaskWithRequest(request){data,response,error in
if error != nil
{
self.delegate?.error(error!)
}
else
{
// do
// {
// var dic = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments) as! NSDictionary
//
// print("this is \(dic)")
// }
// catch
// {
//
// }
let str = "Arvind"
self.delegate?.request!()
self.delegate?.requestFinish(data!)
}
}
task.resume()
}
func login(username:String,password:String)
{
var dicParam = NSMutableDictionary()
dicParam.setValue(username, forKey: "USERNAME")
dicParam.setValue(password, forKey: "PASSWORD")
var par:NSData!
do
{
par = try NSJSONSerialization.dataWithJSONObject(dicParam, options: .PrettyPrinted)
}
catch
{
print("error in converting json to data")
}
self.mackHttpRequest("login", param:par)
}
}
——————————————————————
//
// ViewController.swift
// LoginWebService
//
// Created by Krishna on 27/05/16.
// Copyright © 2016 Krishna. All rights reserved.
//
import UIKit
class ViewController: UIViewController, ServerHandler,UITextFieldDelegate {
var networkManager = SerevrManager()
var dic:NSDictionary!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var usernameTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
passwordTextField.delegate = self
usernameTextField.delegate = self
networkManager.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
return textField.resignFirstResponder()
}
@IBAction func loginButton(sender: UIButton) {
networkManager.login(usernameTextField.text!, password:passwordTextField.text!)
}
@IBAction func signupButton(sender: UIButton) {
}
func requestFinish(data: NSData) {
print("hello..........................")
do
{
dic = try NSJSONSerialization.JSONObjectWithData(data, options:.AllowFragments) as! NSDictionary
print(dic)
}
catch
{
print("error")
}
if "Succes" == dic["Succes"]?.string
{
print("Login Succes")
}
else
{
print("login Faild")
}
}
func request() {
print("hello........")
}
func error(error: NSError) {
print("error in service Calling \(error.userInfo)")
}
}