Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como salvar a resposta do meu servidor e como posso acessar esses dados


Como as soluções originais já foram postadas, vou me concentrar na maneira mais longa e tediosa, que acho que é a maneira correta de lidar com o elefante na sala. Isso irá ajudá-lo a longo prazo.

Crie uma classe Singleton, pois só pode haver um usuário conectado por vez.

SharedUser.h
#import <Foundation/Foundation.h>
@interface SharedUser : NSObject

@property (strong, nonatomic) NSString* userId;
@property (strong, nonatomic) NSString* userName;
@property (strong, nonatomic) NSString* subscriptionStatus;
@property (strong, nonatomic) NSString* registerDate;
@property (strong, nonatomic) NSString* expiryDate;
+(SharedUser*) getInstance;

@end

SharedUser.m
#import "SharedUser.h"

@implementation SharedUser



static SharedUser * sharedInstance;



+(SharedUser*) getInstance
{
    @synchronized(self)
    {
        if(sharedInstance == nil)
        {

            sharedInstance = [[SharedUser alloc] init];
            sharedInstance.userName = @"";
            sharedInstance.userId = @"";
            sharedInstance.subscriptionStatus = @"";
            sharedInstance.registerDate = @"";
            sharedInstance.expiryDate = @"";
            return sharedInstance;
        }
        else
        {
            return  sharedInstance;
        }

    }
}

Converta sua resposta em NSDictionary .
NSDictionary *json_dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];;//From Santosh Reddy's Answer

Preencha sua sharedInstance com os atributos de resultado:
[SharedUser getInstance].userId = [json_dict objectForKey:@"user_id"];
[SharedUser getInstance].userName = [json_dict objectForKey:@"username"];
[SharedUser getInstance].subscriptionStatus = [json_dict objectForKey:@"subscription_status"];
[SharedUser getInstance].registryDate = [json_dict objectForKey:@"register_date"];//Better to use NSDate type instead of NSString
[SharedUser getInstance].expiryDate = [json_dict objectForKey:@"expiry_date"];

Agora os atributos do seu usuário estarão disponíveis em qualquer lugar do App. Você só precisa importar SharedUser.h para UIView desejado , UIViewController &digite o seguinte para acessar seus dados:
NSString *userId = [SharedUser getInstance].userId;

Observe também que estou usando o padrão singleton porque estou assumindo que você só precisa lidar com os atributos de um usuário que serão usados ​​em vários controladores de exibição ao longo do tempo. Se você precisar que vários usuários sejam salvos, crie uma classe de modelo de usuário semelhante e preencha-os de maneira semelhante. (Só não os faça singleton).

Também sugiro que você leia os tutoriais da série de Ray Wenderlich sobre:

1. Design Orientado a Objetos
2. Padrões de design
3. Introdução aos padrões de design do iOS