sql >> Database >  >> RDS >> Mysql

Hoe het antwoord van mijn server op te slaan, en hoe kan ik toegang krijgen tot die gegevens?

Aangezien originele oplossingen al zijn gepost, zal ik me concentreren op een langere en meer vervelende manier waarvan ik denk dat dit de juiste manier is om met de olifant in de kamer om te gaan. Dit zal je op de langere termijn helpen.

Maak een Singleton-klasse aangezien er maar één gebruiker tegelijk kan inloggen.

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;
        }

    }
}

Zet uw reactie om in NSDictionary .

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

Vul uw sharedInstance met de resultaatkenmerken:

[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"];

Nu zijn de kenmerken van uw gebruiker overal in de app beschikbaar. U hoeft alleen SharedUser.h . te importeren naar gewenste UIView , UIViewController &typ het volgende om toegang te krijgen tot uw gegevens:

NSString *userId = [SharedUser getInstance].userId;

Merk ook op dat ik een singleton-patroon gebruik, omdat ik ervan uitga dat je maar één gebruikersattributen hoeft te verwerken die in de loop van de tijd in meerdere viewcontrollers zullen worden gebruikt. Als u meerdere gebruikers wilt opslaan, maakt u een vergelijkbare gebruikersmodelklasse en vult u ze op dezelfde manier in. (Maak ze gewoon niet singleton).

Ik raad je ook aan om de serie tutorials van Ray Wenderlich te lezen over:

1. Objectgericht ontwerp
2. Ontwerppatronen
3. Inleiding tot iOS-ontwerppatronen



  1. Wanneer wordt het gebruik van MySQL BLOB aanbevolen?

  2. Neo4j - Een knooppunt verwijderen met Cypher

  3. Kolomgrootte wijzigen in MySQL

  4. Laravel-bestellingsresultaten op specifieke waarden