Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách lưu phản hồi từ máy chủ của tôi và Làm cách nào để truy cập dữ liệu đó

Vì các giải pháp ban đầu đã được đăng tải, tôi sẽ tập trung vào cách dài hơn và tẻ nhạt hơn mà tôi nghĩ là cách thích hợp để xử lý con voi trong phòng. Điều này sẽ giúp bạn về lâu dài.

Tạo một lớp Singleton vì chỉ có thể có một người dùng đăng nhập cùng một lúc.

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

    }
}

Chuyển câu trả lời của bạn thành NSDictionary .

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

Điền vào sharedInstance của bạn với các thuộc tính kết quả:

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

Giờ đây, các thuộc tính của người dùng của bạn sẽ có sẵn ở mọi nơi trong Ứng dụng. Bạn chỉ cần nhập SharedUser.h đến UIView mong muốn , UIViewController &nhập sau để truy cập dữ liệu của bạn:

NSString *userId = [SharedUser getInstance].userId;

Cũng lưu ý rằng tôi đang sử dụng mẫu singleton vì tôi giả định rằng bạn chỉ cần xử lý các thuộc tính của một người dùng sẽ được sử dụng trong nhiều bộ điều khiển chế độ xem trong một khoảng thời gian. Nếu bạn cần lưu nhiều người dùng, hãy tạo một lớp mô hình người dùng tương tự và điền chúng theo cách tương tự. (Chỉ cần đừng biến chúng thành singleton).

Ngoài ra, tôi khuyên bạn nên đọc loạt bài hướng dẫn của Ray Wenderlich về:

1. Thiết kế hướng đối tượng
2. Mẫu thiết kế
3. Giới thiệu về các mẫu thiết kế 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. Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' trong khi cố gắng cấp đặc quyền. Làm cách nào để cấp đặc quyền?

  2. Lọc và nhóm dữ liệu từ bảng với các cặp khóa / giá trị

  3. Tìm chỗ trống miễn phí trong hệ thống đặt chỗ

  4. Lỗi sự kiện Mysql khi sử dụng php

  5. this._callback.apply không phải là một hàm! Node js Mysql error