Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मेरे सर्वर से प्रतिक्रिया कैसे बचाएं, और मैं उस डेटा तक कैसे पहुंच सकता हूं?

चूंकि मूल समाधान पहले ही पोस्ट किए जा चुके हैं, मैं लंबे और अधिक कठिन तरीके पर ध्यान केंद्रित करूंगा जो मुझे लगता है कि कमरे में हाथी को संभालने का उचित तरीका है। यह आपको लंबे समय में मदद करेगा।

सिंगलटन वर्ग बनाएं क्योंकि एक समय में केवल एक उपयोगकर्ता लॉग इन हो सकता है।

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;

यह भी ध्यान दें कि मैं सिंगलटन पैटर्न का उपयोग कर रहा हूं क्योंकि मुझे लगता है कि आपको केवल एक उपयोगकर्ता की विशेषताओं को संभालने की आवश्यकता है जिसका उपयोग समय के साथ कई व्यू कंट्रोलर में किया जाएगा। यदि आपको कई उपयोगकर्ताओं को सहेजना है, तो एक समान उपयोगकर्ता मॉडल वर्ग बनाएं और उन्हें समान तरीके से पॉप्युलेट करें। (बस उन्हें सिंगलटन मत बनाओ)।

साथ ही मेरा सुझाव है कि आपको रे वेंडरलिच की श्रृंखला के ट्यूटोरियल को इस पर पढ़ना चाहिए:

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. सही तालिका से खाली परिणाम के साथ आंतरिक शामिल हों

  2. कॉम्प्लेक्स ग्रुप बाय के बाद पिछली पंक्ति/दिन से प्रतिशत वृद्धि की गणना कैसे करें?

  3. MySQL कार्यक्षेत्र विकल्प - ClusterControl का पॉइंट-एंड-क्लिक GUI

  4. C:\webdev\wamp\www\ MembershipSite\classes\Mysql.php लाइन 9 पर उपयोगकर्ता 'उपयोगकर्ता नाम'@'लोकलहोस्ट' (पासवर्ड का उपयोग कर:हाँ) के लिए प्रवेश निषेध

  5. रेल:डेटाबेस में खाली स्ट्रिंग को NULL पर बाध्य करें