Está en la página 1de 12

LOGIN CON SERVICIO EN UN VAR -INF – RETORNA USUARIO SI ES CORRECTO

EN EL VIEW CONTROLLER (SOLO HAY ESE DOCUMENTO)


class ViewController: UIViewController {

@IBOutlet weak var tfUsuario: UITextField!


@IBOutlet weak var tfClave: UITextField!
@IBOutlet weak var lblMensajes: UILabel!

override func viewDidLoad() {


super.viewDidLoad()
// Do any additional setup after loading the view.
}

@IBAction func btnLogin_OnClick(_ sender: Any){


var urlLogin="http://wscibertec201922.somee.com/Usuario/ValidarUsuario?pLogin=" + self.tfUsuario.text! +
"&pContrasenia=" + self.tfClave.text!
print (urlLogin)

let urlLogueo = URL(string: urlLogin)


let peticion = URLRequest(url: urlLogueo!)

let tarea = URLSession.shared.dataTask(with: peticion)


{Datos, Respuesta, Error in
print ("por iniciar")
if(Error == nil){

print("Por procesar datos")


print(Datos ?? "Vacio")
let datosCadena = NSString(data: Datos!, encoding: String.Encoding.utf8.rawValue)
print(datosCadena!)
print("Fin procesar datos")

/////////////////////////////////
print("Leer datos json")
DispatchQueue.main.async {
//Inicio completar la lctura de obj json, lee toda la estructura como cuando se pone en json formatter a partir
//de los datos del url que s ehicieron en el request
let JSON = try? JSONSerialization.jsonObject(with: Datos!, options: [])
//se trae el diccionario de los objetos
//El cod se almacena y se arrastra durante todo el sistema
if let dictionary = JSON as? [String: Any],
let objUsuario = dictionary["ObjUsuario"] as? [String: Any]
{
let CodigoUsuario = objUsuario["CodigoUsuario"] as! Int
let Nombres = objUsuario["Nombres"] as! String
if (CodigoUsuario > 0){
//self.NombresUsuaio = Nombres
self.lblMensajes.text = "Bienvenido: \(Nombres)"
//self.performSegue(withIdentifier: "ListadoUsuario", sender: self)
}
else{
self.lblMensajes.text = "Usuario o clave Incorrectos"
}
}
//Fin completar lectura de obj json
//Ser hace de esta manera `para que cuando haya un error la aplicacion siempre siga ejecutandose

print("Fin de leer datos JSON")


/////////////////
}
else {
print("Error")
print(Error ?? "Error vacio")
let strCadena = Error as! String
}
}
tarea.resume()

}
LISTADO DE USUARIOS Y MUESTRA EN OTRO VIEW
EN EL VIEW CONTROLLER

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var tfLogin: UITextField!

@IBOutlet weak var tfNombres: UITextField!

@IBOutlet weak var tfCorreo: UITextField!

@IBOutlet weak var tfContrasenia: UITextField!

@IBOutlet weak var tbListado: UITableView!

var oListaUsuarios=[Usuario_BE]()

override func viewDidLoad() {


super.viewDidLoad()
// Do any additional setup after loading the view.
self.tbListado.dataSource=self
self.tbListado.delegate=self
self.tbListado.rowHeight=150
var objUsuario = Usuario_BE()
objUsuario.CodigoUsuario = 1
objUsuario.Nombres = "Geraldine"
objUsuario.Correo = "geralhq@gmail.com"
oListaUsuarios.append(objUsuario)

override func didReceiveMemoryWarning() {


super.didReceiveMemoryWarning()
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {


return oListaUsuarios.count
}

func numberOfSections(in tableView: UITableView) -> Int {


return 1}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


let oCelda = tableView.dequeueReusableCell(withIdentifier: "Celdausuario", for: indexPath) as!
CeldaUsuarioTableViewCell
let oregUsuario = oListaUsuarios[indexPath.row]
oCelda.MostrarUsuario(pUsuario: oregUsuario)
return oCelda
}

@IBAction func btn_agregar(_ sender: Any) {

let objUsuarioAdd = Usuario_BE()


objUsuarioAdd.LoginUsuario = self.tfLogin.text
objUsuarioAdd.Nombres = tfNombres.text
objUsuarioAdd.Correo = tfCorreo.text
objUsuarioAdd.ContraseniaUsuario = tfContrasenia.text

oListaUsuarios.append(objUsuarioAdd)
tbListado.reloadData()
self.LimpiarControles()

func LimpiarControles(){
self.tfNombres.text = ""
self.tfCorreo.text = ""
self.tfLogin.text = ""
self.tfContrasenia.text = ""
}

}
EN EL LISTADO VIEW CONTROLLER

import UIKit

class ListadoViewController: UIViewController {

override func viewDidLoad() {


super.viewDidLoad()

// Do any additional setup after loading the view.


}

EN LA TABLEVIEW CONTROLLER

import UIKit

class CeldaUsuarioTableViewCell: UITableViewCell {

@IBOutlet weak var lblCorreo: UILabel!


@IBOutlet weak var LblNombres: UILabel!
@IBOutlet weak var lblLogin: UILabel!

override func awakeFromNib() {


super.awakeFromNib()
// Initialization code
}

override func setSelected(_ selected: Bool, animated: Bool) {


super.setSelected(selected, animated: animated)

// Configure the view for the selected state


}

func MostrarUsuario(pUsuario: Usuario_BE){


self.lblLogin.text = pUsuario.LoginUsuario
self.LblNombres.text = pUsuario.Nombres
self.lblCorreo.text = pUsuario.Correo
}

}
EN USUARIOBE

import UIKit

class Usuario_BE: NSObject {

var CodigoUsuario: integer_t


var LoginUsuario: String?
var Nombres: String?
var Correo: String?
var ContraseniaUsuario: String?
var Eliminado: Bool
var CodigoError: integer_t
var DescripcionError: String?
var MensajeError: String?

override init() {
self.CodigoUsuario=0
self.LoginUsuario=""
self.Nombres=""
self.Correo=""
self.ContraseniaUsuario=""
self.Eliminado=false
self.CodigoError=0
self.DescripcionError=""
self.MensajeError=""
}

REGISTRO SIN SERVICIO CON CELDA

import UIKit

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {

@IBOutlet weak var tfNombres: UITextField!


@IBOutlet weak var tfDescripcion: UITextField!

@IBOutlet weak var tblLista: UITableView!


var listaEquipos: [Equipo]=[]

override func viewDidLoad() {


super.viewDidLoad()
// Do any additional setup after loading the view.
listaEquipos = []
}

override func didReceiveMemoryWarning() {


super.didReceiveMemoryWarning()
}

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) ->


Bool {
return true
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) ->


Int {
return listaEquipos.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) ->


UITableViewCell {
let ocelda = tableView.dequeueReusableCell(withIdentifier: "Celda1",for:
indexPath)
ocelda.textLabel?.text = listaEquipos[ indexPath.row ].Nombre
return ocelda
}

func tableView(_ tableView: UITableView, commit editingStyle:


UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == UITableViewCell.EditingStyle.delete{
self.listaEquipos.remove(at: indexPath.row)
self.tblLista.deleteRows(at: [indexPath], with: .automatic)
}
}

@IBAction func btnAgregar_click(_ sender: Any) {


let objeEquipo = Equipo(pNombre: self.tfNombres.text!, pDescripcion:
self.tfDescripcion.text!, pFoto: "" )
listaEquipos.append(objeEquipo)
tblLista.reloadData()
self.LimpiarCampos()
self.MostrarAlerta(pTitulo: "Registro de Equipos", pMensaje:
"\(objeEquipo.Nombre) Se agregó correctamente", pControlador: self)
}

func LimpiarCampos(){
self.tfNombres.text = ""
self.tfDescripcion.text = ""
self.tfNombres.becomeFirstResponder()
}

func MostrarAlerta(pTitulo: String!, pMensaje: String, pControlador:


UIViewController){
let alert = UIAlertController(title: pTitulo, message: pMensaje, preferredStyle:
.alert)
let action = UIAlertAction(title: "OK", style: .cancel, handler: nil)
alert.addAction(action)
pControlador.present(alert, animated: true, completion: nil)
}

@IBAction func btnEliminar_onclick(_ sender: Any) {


/*
let indexPath = self.tblLista.indexPathForSelectedRow
let indice = self.tblLista.indexPaths
print(indexPath)
self.tblLista.deleteRows(at: [indexPath!], with:
UITableView.RowAnimation.automatic)
*/
}

LISTADO DE PAISES

import UIKit

class ViewController: UIViewController, UIPickerViewDataSource,


UIPickerViewDelegate {

var StrSeleccionado=""

@IBOutlet weak var pvListaPaises: UIPickerView!


@IBOutlet weak var tfPaisSeleccionado: UITextField!
var listaPaises = [String]()

override func viewDidLoad() {


super.viewDidLoad()
// Do any additional setup after loading the view.
listaPaises=["Peru","Ecuador","Colombia"]
self.pvListaPaises.dataSource=self
self.pvListaPaises.delegate=self

print("viewDidLoad() - Ejecutado")

}
override func viewDidAppear(_ animated: Bool) {
print("viewController-viewDidApper() - Ejecutado")
}
override func viewDidDisappear(_ animated: Bool) {
print("viewController-viewDidDisappear() - Ejecutado")
}

func numberOfComponents(in pickerView: UIPickerView) -> Int {


return 1
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent


component: Int) -> Int {
return listaPaises.count
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent


component: Int) -> String? {
return listaPaises[row]
}

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent


component: Int) {
self.tfPaisSeleccionado.text=listaPaises[row]
StrSeleccionado = listaPaises[row]
}

También podría gustarte