iOS 登录功能的实现
#import "AppDelegate.h" ?中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
? ? // Override point for customization after application launch.
?? //判斷是否登陸,由登陸狀態判斷啟動頁面 //獲取UserDefault
? ? NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSString *name = [userDefault objectForKey:@"name"];
? ? //獲取storyboard
? ? UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
? ? //如果用戶未登陸則把根視圖控制器改變成登陸視圖控制器
? ? if (name == nil) {
? ? ? ? NSLog(@"%@",name);
? ? ? ? id view = [storyboard instantiateViewControllerWithIdentifier:@"LoginView"];
? ? ? ? self.window.rootViewController = view;
? ? }
? ? return YES;
}
?
#import "ViewController.h"
#import "LapLoginViewController.h"//導入
#import "NetWorkManger.h"//導入(這是一個我自己寫的第三方, 解析 url 的,可以在我博客里找一下,此處不再累贅);
?
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *nameTextFiled;
?
@property (weak, nonatomic) IBOutlet UITextField *passwordTextFiled;
@property (nonatomic,strong)NSDictionary *dataSource;
?
@end
?
@implementation ViewController
?
- (NSDictionary *)dataSource {
? ? if (!_dataSource) {
? ? ? ? self.dataSource = [NSDictionary dictionary];
?? ? ? ?
? ? }
? ? return _dataSource;
}
//storyboard 中拖出來的按鈕,登陸
- (IBAction)loginAction:(id)sender {
? ? //獲取用戶輸入的信息
? ? NSString *username = self.nameTextFiled.text;
? ? NSString *password = self.passwordTextFiled.text;
?? ?
?? ?
? ? ? NSString *str = [NSString stringWithFormat:@"http://hy.gdhstz.com/Hander/Admin_Handler.ashx?Action=Login&UserPhone=%@&FPwd=%@",username,password];
?? ?
? ? ? ? [[NetWorkManger mainNetworkManager] getDateWithURL:str success:^(NetWorkManger *net, id object) {
? ? ? ? ? ? NSLog(@"%@",object);
?? ?
? ? ? ? } fail:^(NetWorkManger *net, NSError *error) {
? ? ?
? ? ? ? }];
?
?? ?
? ? //對用戶信息的驗證
? ? if (username.length > 10){
?? ? ? ?
? ? ? ? [[NetWorkManger mainNetworkManager] getDateWithURL:str success:^(NetWorkManger *net, id object) {
?? ? ? ? ?
? ? ? ?
? ? ? ? ? ? if (object == nil) {
? ? ? ? ? ? ? UIAlertView *alert;
? ? ? ? alert = [[UIAlertView alloc] initWithTitle:@"抱歉" message:@"賬號密碼有誤,請重新輸入" delegate: self? cancelButtonTitle:@"確定" otherButtonTitles: nil, nil];
? ? ? ? ? ? ? ? [alert show];
? ? ? ? ? ? }else {
? ? ? ? ? ? //獲取userDefault單例
? ? ? ? ? ? NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
? ? ? ? ? ? //登陸成功后把用戶名和密碼存儲到UserDefault
? ? ? ? ? ? [userDefaults setObject:username forKey:@"name"];
? ? ? ? ? ? [userDefaults setObject:password forKey:@"password"];? ? ? ? ? [userDefaults synchronize];
? ? ? ? ? ? //用模態跳轉到主界面
? ? ? ? ? ? LapLoginViewController *lapVC = [[LapLoginViewController alloc] init];
? ? ? ? ? ? [self.navigationController pushViewController:lapVC animated:YES];
?
? ? ? ? ? ? }
? ? ? ? } fail:^(NetWorkManger *net, NSError *error) {
? ? ? ? ? ? UIAlertView *alert;
? ? ? ? ? ? alert = [[UIAlertView alloc] initWithTitle:@"抱歉"
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? message:@"賬號密碼有誤,請重新輸入"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? delegate: self
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cancelButtonTitle:@"確定"
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? otherButtonTitles: nil, nil];
?? ? ? ? ? ?
? ? ? ? ? ? [alert show];
?
? ? ? ? }];
?
?
? ? }else{
? ? ? ? UIAlertView *alert;
? ? ? ? alert = [[UIAlertView alloc] initWithTitle:@"抱歉"
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? message:@"賬號密碼有誤,請重新輸入"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? delegate: self
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cancelButtonTitle:@"確定"
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? otherButtonTitles: nil, nil];
?? ? ? ?
? ? ? ? [alert show];
?
? ? }
}
?
?
?//登陸之后跳轉到該界面, 該界面的button方法用來注銷 登陸的;
#import "LapLoginViewController.h"
?
@interface LapLoginViewController ()
?
@end
?
@implementation LapLoginViewController
- (IBAction)hahahahahahahah:(id)sender {
?? ?
?? ? ? ? ? ? //獲取UserDefaults單例
? ? NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
? ? //移除UserDefaults中存儲的用戶信息
? ? [userDefaults removeObjectForKey:@"name"]; ? ? [userDefaults removeObjectForKey:@"password"];? ? ? [userDefaults synchronize];
? ? //獲取storyboard
? ? UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
? ? //獲取注銷后要跳轉的頁面
? ? id view = [storyboard instantiateViewControllerWithIdentifier:@"LoginView"];
? ? //模態展示出登陸頁面
? ? [self presentViewController:view animated:YES completion:^{ ? ? }];
?? ?
?? ?
?? ?
}
?
轉載于:https://www.cnblogs.com/chamton/p/5049316.html
總結
以上是生活随笔為你收集整理的iOS 登录功能的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库事务以及事务的隔离级别
- 下一篇: 301.Remove Invalid P