Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // User.swift
- // PensouChegou
- //
- // Created by Vanessa Figueiredo on 06/01/17.
- // Copyright © 2017 Solução Sistemas. All rights reserved.
- //
- import KeychainAccess
- import JASON
- struct User{
- var email: String?
- var token: String?
- var password: String?
- var addresses: [UserAddress]?
- var orders: [UserOrders]?
- init(){
- let userManager = UserManager()
- let userInfo = CoreDataManager<UserInfo>()
- var user = [UserInfo]()
- user = userInfo.all()
- let keychain = Keychain(service: "net.solucaosistemas.PensouChegouBeta")
- for user in user {
- self.email = user.email!
- self.token = keychain["token"]
- self.password = user.password!
- self.addresses = userManager.consultAddress(user)
- self.orders = userManager.consultOrders(user)
- }
- }
- init(_ json:JSON){
- //Usa as chaves definidas na extensão de JSONKeys
- self.email = json[.email]
- self.token = json[.token]
- self.password = json[.password]
- //Como esses dois são 2 objetos personalizados teus,vamo ter q implementar uma lógica pra isso depois
- // self.addresses = json[.addresses]
- // self.orders = json[.orders]
- }
- static func testJSON(){
- //JSON EXEMPLO
- let jsonTest = [
- [
- "nome": "Batata",
- "email": "batata@potato.com",
- "token": "asudbogaubsodguaobsdgbasdubgouasbdgou",
- "password": "euamobatata123",
- "addresses": "Rua batata,Frita,1010",
- "orders": "asdgionasodignaoisdg"
- ],
- [
- "nome": "Batata",
- "email": "batata@potato.com",
- "token": "asudbogaubsodguaobsdgbasdubgouasbdgou",
- "password": "euamobatata123",
- "addresses": "Rua batata,Frita,1010",
- "orders": "asdgionasodignaoisdg"
- ],
- [
- "nome": "Batata",
- "email": "batata@potato.com",
- "token": "asudbogaubsodguaobsdgbasdubgouasbdgou",
- "password": "euamobatata123",
- "addresses": "Rua batata,Frita,1010",
- "orders": "asdgionasodignaoisdg"
- ],
- [
- "nome": "Batata",
- "email": "batata@potato.com",
- "token": "asudbogaubsodguaobsdgbasdubgouasbdgou",
- "password": "euamobatata123",
- "addresses": "Rua batata,Frita,1010",
- "orders": "asdgionasodignaoisdg"
- ],
- [
- "nome": "Batata",
- "email": "batata@potato.com",
- "token": "asudbogaubsodguaobsdgbasdubgouasbdgou",
- "password": "euamobatata123",
- "addresses": "Rua batata,Frita,1010",
- "orders": "asdgionasodignaoisdg"
- ]
- ] as JSON
- //No caso de usar alamofire,na response teu código vai ser só esse
- //if let json = response.result.value{
- // let users = jsonTest.map(User.init)
- //}
- let users = jsonTest.map(User.init)
- print(users)
- }
- }
- extension JSONKeys{
- //Procura as chaves definidas no construtor do tipo q passado entre <>
- //Sintaxe: JSONKey<T>("nome_da_chave_no_json")
- static let email = JSONKey<String>("email")
- static let token = JSONKey<String>("token")
- static let password = JSONKey<String>("password")
- static let addresses = JSONKey<String>("addresses")
- static let orders = JSONKey<String>("orders")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement