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 登录功能的实现相关推荐
- ios 登录功能学习研究
登录功能是我在湖畔做的第一个需求. 当时PD给我的草图和下图类似: (图片来自知乎iOS客户端登录界面) 不过需求中要求用户名或者密码错误时,输入框要抖动(类似Mac登录密码错误的抖动效果). 如果实 ...
- ios设计登录功能_亲爱的产品设计师,这是iOS 14的新功能
ios设计登录功能 On June 22, 2020 Apple previewed iOS 14 for the first time. As always there are quite some ...
- ios mysql注册登录界面_iOS+PHP实现登录功能
近期在做app开发的时候,因为要用到app登录功能,就自己写了个简单的iOS+PHP实现登录功能的demo,经过运行能够通过登录测试. 在开发过程中,也是碰到了各种各样的问题,经过不断的调试和改变方法 ...
- iOS 指纹识别登录功能实现
简介 Touch ID是苹果公司的一种指纹识别技术,从iPhone 5s开始,早已为人们所熟知. Touch ID不存储用户的任何指纹图像,只保存代表指纹的数字字符.苹果公司提供Touch ID给第三 ...
- React Native 集成分享第三方登录功能分享第三方登录模块开发(iOS)
期待已久的新课上线啦!解锁React Native开发新姿势,一网打尽React Native最新与最热技术,点我Get!!! 在我们常用的App中经常会看到分享与第三方登录的功能,可以说分享与第三方 ...
- 应该怎么做一个登录功能?
版权是我的,转载没有通过我的同意的爬虫都是傻逼. 假设有user表.里面有id,acount(账户,nvarchar(50)),pwd(密码,nvarchar(50)). 最简单的实现 渣渣说做个登录 ...
- python写appium_案例分享,Python +appium做登录功能
原标题:案例分享,Python +appium做登录功能 Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,同时又是一个跨平台的工具:它允许测试人员在不同 ...
- 谷歌称已实现量子霸权;iOS 捷径功能被诉侵权;Chrome 78 Beta 发布 | 极客头条
快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...
- iOS登录注册登录界面(UITextField)
登录功能是我在湖畔做的第一个需求. 当时PD给我的草图和下图类似: (图片来自知乎iOS客户端登录界面) 不过需求中要求用户名或者密码错误时,输入框要抖动(类似Mac登录密码错误的抖动效果). 如果实 ...
最新文章
- java 连接 MySQL
- js目标时间与当前时间差转换年月日天数
- linux:进程占用的端口,在linux中查看进程占用的端口号
- Promise的用简要使用方式
- [转] Freemarker的常用技巧总结
- 实现点击页面其他地方,隐藏div(vue)
- 安装项目管理工具 SVN+Redmine
- 角度传感器原理和应用
- windows之电脑开机出现 this product is covered by one or more of the following prtents
- 盘盘在项目中你常用的那些数组API
- 双目标定(三)标定流程(含矫正)
- TypeError: Person() takes no arguments
- 我虽买不起99朵玫瑰花送你,但它可以——(看完还不肯当我女朋友?)
- 和包贷是什么?究竟如何
- 8cm等于多少像素_1cm等于多少像素??
- JAVA的教师档案管理系统_教师档案管理系统的设计与实现
- Linux查看文件的几种命令比较:vi、vim、cat、less
- 一类用 LCT 维护信息的题目
- 2018年4月前端必须star的github项目
- 无忧无盘服务器内存,无忧无盘安装以及配置教材.doc
热门文章
- flutter 应用场景_【Flutter 1-12】Flutter手把手教程Dart语言——什么是泛型和泛型的使用场景...
- AttributeError: 'NoneType' object has no attribute 'grid'报错解决方案
- 【视频课】8大Pytorch CV实践案例,超30小时视频助你攻略CV三大基础任务(分类分割检测)
- javascript标签在页面中的位置探讨
- 【转】使用TCP协议连续传输大量数据时,是否会丢包,应如何避免?
- NSIS 的 Modern UI 教程(二)
- winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
- 一个简单的HTTP通讯的例子,使用了CInternetSession,CHttpConnection,CHttpFile三个类
- Metasploit从文件中读取目标地址
- 痴迷物理,无法自拔——3.24