sql >> Databáze >  >> RDS >> Mysql

Jak uložit odpověď z mého serveru a jak získat přístup k těmto datům

Vzhledem k tomu, že původní řešení již byla zveřejněna, zaměřím se na delší a únavnější způsob, o kterém si myslím, že je správný způsob, jak zacházet se slonem v místnosti. To vám pomůže z dlouhodobého hlediska.

Vytvořte třídu Singleton, protože v jednu chvíli může být přihlášen pouze jeden uživatel.

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

    }
}

Převeďte svou odpověď do NSDictionary .

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

Naplňte sdílenou instanci atributy výsledku:

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

Nyní budou atributy vašeho uživatele dostupné kdekoli v aplikaci. Stačí importovat SharedUser.h na požadovaný UIView , UIViewController a zadejte následující pro přístup ke svým datům:

NSString *userId = [SharedUser getInstance].userId;

Všimněte si také, že používám vzor singleton, protože předpokládám, že potřebujete zpracovat pouze atributy jednoho uživatele, které budou v průběhu času použity ve více ovladačích zobrazení. Pokud potřebujete uložit více uživatelů, vytvořte podobnou třídu uživatelského modelu a naplňte je podobným způsobem. (Jen je nedělejte singleton).

Také bych vám doporučil, abyste si přečetli tutoriály série Raye Wenderlicha na:

1. Objektově orientovaný design
2. Návrhové vzory
3. Úvod do návrhových vzorů iOS



  1. SQL – Zkontrolujte, zda se sloupec automaticky zvyšuje

  2. Vysvětlení operátora MariaDB MINUS

  3. MySQL:Kdy jsou skutečně potřebná oprávnění Flush v MySQL?

  4. PHP - Náhodně změněné porty v aplikaci Azure mySQL