开发者

Can I change the apps view based on if a file has been saved?

Please help! I'm a newbie to programming and I'm having the following trouble. I am trying to write my first iphone app and I would like it to do the fo开发者_如何学Gollowing.

When the app launches user enters name, presses button and goes to new view. Their name is saved to file and used through out the app. That much I have managed.

I would like the app to check to see if there is a saved file when it is launched and go directly to second view instead of the first view. I'm have search for days looking for an answer and I'm still not sure how to do this.

At the risk of seeming stupid do I use an IF statement and how do I write it. Please help.

Thanking you in advance.


You have to use NSUserDefaults for storing the user name and pass words. If you want to store more data's, have to use plist(Documents Directory) or core data or SQLite.

// Store the data 

[[NSUserDefaults standardUserDefaults] setObject:@"yourPasswordString" forKey:@"YourKey"];


// Retrieve the data

NSString *passWord = [[NSUserDefaults standardUserDefaults] objectForKey:@"YourKey"];

Once you retrieved the data, you have to check the conditions like,

 if(passWord == nil)
 {
      //load first view
 }
 else
{
     // load second view
}

Thanks!


if you're using NSUserDefaults to save it then all you have to do is try reading the value into a string, then check if it is nil, if it is, then the files isn't there and you would load your first view, if it was, then load your second view.

NSString *tempStr = [[NSUserDefaults standardUserDefaults] objectForKey:@"yourKey"];

if(tempStr == nil)
{
    //load your first view
}
else
{
    // load your second view
}

You need to read your key back out in order to test if it is nil, the way you are doing this, you will never be nil and will always use the else choice, you need to set your object elsewhere, probably in the if statement.

-(IBAction)LogInButton:(id)sender 
{
    NSString *tempStr = [[NSUserDefaults standardUserDefaults] objectForKey:@"UserName"];

    if (tempStr == nil || [tempStr isEqualToString:""]) 
    {
         NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
        [prefs setObject:Name.text forKey:@"UserName"]; 
        [prefs synchronize];

        ClubSearchViewController *CSearch = [[ClubSearchViewController alloc]initWithNibName:@"ClubSearchViewController" bundle:Nil]; 
        [self presentModalViewController:CSearch animated:YES]; 
    } 
    else 
    { 
        SearchMenu *SMenu = [[SearchMenu alloc]initWithNibName:@"SearchMenu" bundle:nil]; 
        [self presentModalViewController:SMenu animated:YES];
    }
}

-(IBAction)LogOutButton:(id)sender
{
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    [prefs setObject:@"" forKey:@"UserName"]; 
    [prefs synchronize];
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜