Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да запазя отговора от моя сървър и как мога да получа достъп до тези данни

Тъй като оригиналните решения вече са публикувани, ще се съсредоточа върху по-дълъг и по-досаден начин, който според мен е правилният начин за справяне със слона в стаята. Това ще ви помогне в дългосрочен план.

Създайте клас Singleton, тъй като може да има само един потребител, който е влязъл едновременно.

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

    }
}

Преобразувайте отговора си в NSDictionary .

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

Попълнете вашия споделен екземпляр с атрибутите на резултата:

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

Сега атрибутите на вашия потребител ще бъдат достъпни навсякъде в приложението. Просто трябва да импортирате SharedUser.h до желания UIView , UIViewController &въведете следното за достъп до вашите данни:

NSString *userId = [SharedUser getInstance].userId;

Също така имайте предвид, че използвам единичен модел, защото предполагам, че трябва да обработвате само атрибутите на един потребител, които ще се използват в множество контролери за изглед през определен период от време. Ако имате нужда от запазване на няколко потребители, създайте подобен клас потребителски модел и ги попълнете по подобен начин. (Просто не ги правете сингълтон).

Също така бих предложил да прочетете серията уроци на Ray Wenderlich на:

1. Обектно-ориентиран дизайн
2. Дизайнерски шаблони
3. Въведение в моделите на дизайн на iOS



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Подредете резултатите, за да съответстват на реда на стойностите в израз WHERE IN

  2. Как да проверя в друга таблица няма данни, докато правите mysql присъединяване?

  3. Как да получа различен запис от таблицата на mysql?

  4. Отмяна на MySQL на двигателя MyISAM

  5. Подготвена декларация с НА ДУБЛИКАТ КЛЮЧ