在内存IOS商店的用户ID(Store userid in memory IOS)

2019-08-03 12:57发布

我做了一个登录功能的IOS应用。 我用的是ASIHTTPRequest此检查,如果用户在MySQL数据库中存在。 所有工作正常,但我想通过用户ID槽等viewcontrollers或检索它的应用程序的其他部分。

有人可以把我在正确的方向如何在最佳和最安全的方式做到这一点?

这是我的我做一个POST HTTP请求到PHP脚本的方式:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"*SOME_URL*"]];

在一个回调,我可以检索用户ID,但我想这个ID存储在应用进一步使用的内存。

谢谢。

Answer 1:

您可以存储userIdAppDelegate


声明一个userId物业AppDelegate.h用下面的代码:

@property (nonatomic, strong) NSString *userId

然后合成它在AppDelegate.m用下面的代码:

@synthesize userId;

然后,可以使用userId在您的应用程序从任何地方。 添加进口的AppDelegate你要使用的类userId ,如下所示:

#import "AppDelegate.h"

要检索的userId使用下面的代码:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *userId = [appDelegate userId];

并设置userId使用下面的代码:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate setUserId:YouValueRetrievedByInternetOrWhateverYouWant];


Answer 2:

有一个可以作为一个独立的,并可以用静态方法来访问会话类。

要做到这一点,你可以添加一个静态方法

+ (Session *)sharedInstace {
    static Session *session;
    if (!session)
        session = [Session new]; // there are more proper ways to instantiate a singleton class, not gonna get into it now

    return session.
}

在该类的.h你应该添加的NSString(或一类你的选择或任何你想要的),你可以在任何地方与访问[Session sharedInstance].userID



文章来源: Store userid in memory IOS