我该如何创建会话?

时间:2013-06-10 12:49:19

标签: iphone ios objective-c session appdelegate

我需要会话。我找不到关于这个问题的任何事情。因此我使用appdelegate全局变量,但app全局变量不能长时间保存值。

我的意思是,我的目标是登录页面。我不希望用户在我的应用中多次登录。我怎样才能实现这种方法?

4 个答案:

答案 0 :(得分:1)

您可以查看NSUserDefaults

 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];

    if(![defaults boolForKey:@"login"])
     {
         /// view to login or signup what ever
     }
     else
     {
         /// user already logged in
     }

答案 1 :(得分:1)

将数据保存在NSUserDefaults中,

NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
    [defaults setObject:username forKey:@"username"];
    [defaults synchronize];

    NSString *username=[defaults objectForKey:@"username"] ;

答案 2 :(得分:1)

您可以将NSUserDefaults用于此目的。 这是给你的一个例子。祝你好运!

- (void) createSession:(NSObject *anyObject) {
    //write an object to NSUserDefaults with the key of "session"
    [[NSUserDefaults standardUserDefaults] setObject:anyObject forKey:@"session"];

    //persist the value in the store
    [[NSUserDefaults standardUserDefaults] synchronize];
}

- (NSObject*) getSession {
    //get an object from NSUserDefaults with the key of "session"
    return [[NSUserDefaults] standardUserDefaults] objectForKey:@"session"];
}

- (void) exampleUsage {
    NSObject* mySessionObject = [self getSession];
    if (mySessionObject != nil) {
        //i have a session
    } else {
        //i do NOT have a session
    }
}

答案 3 :(得分:1)

您必须使用NSUserDefault登录窗口。

NSUserDefaults def=[NSUserDefaults standardUserDefaults];
[def setObject:delegate.txtfield1.text forKey:@"UserName"];
[def setObject:delegate.txtfield2.text forKey:@"Password"];
[def synchronize];

如果要检索使用此代码的NSUSERDefault数据。

NSString *UserName=[defaults objectForKey:@"UserName"] ;
NSString *Password=[defaults objectForKey:@"Password"] ;

用于检查状态

if(![def boolForKey:@"UserName"])
 {

 }
 else
 {

 }

试试这个可能对你有帮助......