将用户标识存储在内存IOS中
我用一个loginfunction做了一个IOS应用程序。 我使用ASIHTTPRequest来检查用户是否存在于MySQL数据库中。 所有工作正常,但我想通过其他viewcontrollers用户名或检索它的应用程序的其他部分。
有人能把我推向正确的方向吗?如何以最好和最安全的方式做到这一点?
这是我对PHP脚本执行POST HTTP请求的方式:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"*SOME_URL*"]];
在callback中,我可以检索用户ID,但是我想将此ID存储在应用程序的内存中以供进一步使用。
谢谢。
你可以在AppDelegate
存储userId
。
使用以下代码在AppDelegate.h
声明一个userId
属性:
@property (nonatomic, strong) NSString *userId
然后用下面的代码在AppDelegate.m
进行合成:
@synthesize userId;
然后,您可以在应用程序的任何地方使用userId
。 在要使用userId
的类中为AppDelegate
添加一个导入,如下所示:
#import "AppDelegate.h"
要检索userId
使用以下代码:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; NSString *userId = [appDelegate userId];
并设置userId
使用下面的代码:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [appDelegate setUserId:YouValueRetrievedByInternetOrWhateverYouWant];
有一个会话类作为一个单身人士,可以用一个静态方法访问。
要做到这一点,你可以添加一个静态方法
+ (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(或者你select的一个类),你可以从[Session sharedInstance].userID
- iOS6大量下载超时
- 对于分块传输编码,NSURLConnection是什么select
- 在UIWebView中加载HTTPSurl
- 为什么我更喜欢NSURLConnection的ASIHTTPRequest从网上下载文件?
- 已弃用“kCFStreamSSLAllowsExpiredCertificates”和“kCFStreamSSLAllowsAnyRoot”
- ASIHTTPRequest vs AFNetworking框架
- 在closuresUIWebView后维护会话
- 如何上传从UIImagePickerController获取的图像
- 通过HTTPClient工作时,ASIHTTPRequest Post请求失败