【非凡程序员】基于UIKit框架实现登陆功能

   首先实现登陆功能,则需要有注册页面和登录页面;建一个单视图工程,自动生成一对ViewCtroller的.m和.h文件,在新建一个Cocoa class 用于存放注册页面的相关方法,名字为:regiestView,但是需要修改Subclass为UIViewController,然后回到storyboard里面,选中注册的设计板修改class为regiestView。

     在ViewController.h中的代码是:

@property (weak, nonatomic) IBOutlet UITextField *Account;
@property (weak, nonatomic) IBOutlet UITextField *password;
@property (weak, nonatomic) IBOutlet UILabel *logMessgae;
- (IBAction)logging:(id)sender;

在 ViewController.m中的代码是:

  (IBAction)logging:(id)sender {
        NSData *data=[[NSData alloc]initWithContentsOfFile:@"/Users/feifanchengxuyuan/Desktop/userMessage.plist"];
    NSKeyedUnarchiver *archiverKey=[[NSKeyedUnarchiver alloc]initForReadingWithData:data];
    NSDictionary *userMessage=[archiverKey decodeObjectForKey:@"userMessage"];
    NSLog(@"usermessage:%@",userMessage);
    if ([_Account.text isEqualToString:[userMessage valueForKey:@"QQacount"]]&&[_password.text isEqualToString:[userMessage valueForKey:@"password"]]) {
        _logMessgae.text=@"登录成功!";
    } else {
        _logMessgae.text=@"用户名或密码错误!";
    }
}

在regiestView.h中的代码为:

 property (weak, nonatomic) IBOutlet UITextField *regUsername;
@property (weak, nonatomic) IBOutlet UITextField *regEmail;
@property (weak, nonatomic) IBOutlet UITextField *regPassword;
@property (weak, nonatomic) IBOutlet UITextField *regRePassword;
@property (weak, nonatomic) IBOutlet UILabel *registedMessage;
@property (weak, nonatomic) IBOutlet UILabel *messageLable;
@property (weak, nonatomic) IBOutlet UILabel *qqcount;
- (IBAction)ConfirmButton:(id)sender;
- (IBAction)reset:(id)sender;

在regiestView.m中的代码为:

 - (IBAction)ConfirmButton:(id)sender {
    
    NSFileManager *file=[NSFileManager defaultManager];
    [file createFileAtPath:@"/Users/feifanchengxuyuan/Desktop/userMessage.plist" contents:nil attributes:nil];
fileHandleForUpdatingAtPath:@"/Users/feifanchengxuyuan/Desktop/userMessage.plist"];
    NSDate *date=[NSDate date];
    float tempAccount=[date timeIntervalSince1970];
    NSInteger Account=(NSInteger)tempAccount;
    NSString *accountMessage=[NSString stringWithFormat:@"%li",Account];
    _qqcount.text=accountMessage;
    NSDictionary *userMessage=@{
             @"name":_regUsername.text,
             @"Email":_regEmail.text,
             @"password":_regPassword.text,
             @"repassword":_regRePassword.text,
             @"QQacount":_qqcount.text
                             
             };
                 NSMutableData *dataMessage=[[NSMutableData alloc]init];
    NSKeyedArchiver *archiveMessage=[[NSKeyedArchiver alloc]initForWritingWithMutableData:dataMessage];
    [archiveMessage encodeObject:userMessage forKey:@"userMessage"];
    NSLog(@"%@", userMessage);
    [archiveMessage finishEncoding];
        [dataMessage writeToFile:@"/Users/feifanchengxuyuan/Desktop/userMessage.plist"  atomically:YES];
        }
- (IBAction)reset:(id)sender {
        _regUsername.text=@"";
        _regEmail.text=@"";
        _regPassword.text=@"";
        _regRePassword.text=@"";
}

这样就实现了用文件来存储用户名,密码。

你可能感兴趣的:(【非凡程序员】基于UIKit框架实现登陆功能)