sql >> Databasteknik >  >> RDS >> Mysql

Hur man sparar svaret från min server och hur kan jag komma åt den informationen

Eftersom originallösningar redan har publicerats kommer jag att fokusera på ett längre och mer tråkig sätt som jag tycker är det rätta sättet att hantera elefanten i rummet. Detta kommer att hjälpa dig på längre sikt.

Skapa en Singleton-klass eftersom det bara kan vara en användare inloggad på en gång.

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

    }
}

Konvertera ditt svar till NSDictionary .

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

Fyll i din sharedInstance med resultatattributen:

[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 kommer din användares attribut att vara tillgängliga var som helst i appen. Du behöver bara importera SharedUser.h till önskad UIView , UIViewController &skriv följande för att komma åt din data:

NSString *userId = [SharedUser getInstance].userId;

Observera också att jag använder singleton-mönster eftersom jag antar att du bara behöver hantera en användares attribut som kommer att användas i flera viewcontrollers över tiden. Om du behöver spara flera användare, skapa en liknande användarmodellklass och fyll i dem på liknande sätt. (Gör dem bara inte enstaka).

Jag skulle också föreslå att du bör läsa Ray Wenderlichs seriehandledning om:

1. Objektorienterad design
2. Designmönster
3. Introduktion till iOS-designmönster



  1. ORA-04091:tabellen [blah] muterar, trigger/funktion kanske inte ser den

  2. MySQL DATETIME DIFF-fråga

  3. SQL ersätter alla NULL

  4. Vilket är det bästa sättet att kryptera/dekryptera en json-sträng