#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 登录功能的实现相关推荐

  1. ios 登录功能学习研究

    登录功能是我在湖畔做的第一个需求. 当时PD给我的草图和下图类似: (图片来自知乎iOS客户端登录界面) 不过需求中要求用户名或者密码错误时,输入框要抖动(类似Mac登录密码错误的抖动效果). 如果实 ...

  2. ios设计登录功能_亲爱的产品设计师,这是iOS 14的新功能

    ios设计登录功能 On June 22, 2020 Apple previewed iOS 14 for the first time. As always there are quite some ...

  3. ios mysql注册登录界面_iOS+PHP实现登录功能

    近期在做app开发的时候,因为要用到app登录功能,就自己写了个简单的iOS+PHP实现登录功能的demo,经过运行能够通过登录测试. 在开发过程中,也是碰到了各种各样的问题,经过不断的调试和改变方法 ...

  4. iOS 指纹识别登录功能实现

    简介 Touch ID是苹果公司的一种指纹识别技术,从iPhone 5s开始,早已为人们所熟知. Touch ID不存储用户的任何指纹图像,只保存代表指纹的数字字符.苹果公司提供Touch ID给第三 ...

  5. React Native 集成分享第三方登录功能分享第三方登录模块开发(iOS)

    期待已久的新课上线啦!解锁React Native开发新姿势,一网打尽React Native最新与最热技术,点我Get!!! 在我们常用的App中经常会看到分享与第三方登录的功能,可以说分享与第三方 ...

  6. 应该怎么做一个登录功能?

    版权是我的,转载没有通过我的同意的爬虫都是傻逼. 假设有user表.里面有id,acount(账户,nvarchar(50)),pwd(密码,nvarchar(50)). 最简单的实现 渣渣说做个登录 ...

  7. python写appium_案例分享,Python +appium做登录功能

    原标题:案例分享,Python +appium做登录功能 Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,同时又是一个跨平台的工具:它允许测试人员在不同 ...

  8. 谷歌称已实现量子霸权;iOS 捷径功能被诉侵权;Chrome 78 Beta 发布 | 极客头条

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  9. iOS登录注册登录界面(UITextField)

    登录功能是我在湖畔做的第一个需求. 当时PD给我的草图和下图类似: (图片来自知乎iOS客户端登录界面) 不过需求中要求用户名或者密码错误时,输入框要抖动(类似Mac登录密码错误的抖动效果). 如果实 ...

最新文章

  1. java 连接 MySQL
  2. js目标时间与当前时间差转换年月日天数
  3. linux:进程占用的端口,在linux中查看进程占用的端口号
  4. Promise的用简要使用方式
  5. [转] Freemarker的常用技巧总结
  6. 实现点击页面其他地方,隐藏div(vue)
  7. 安装项目管理工具 SVN+Redmine
  8. 角度传感器原理和应用
  9. windows之电脑开机出现 this product is covered by one or more of the following prtents
  10. 盘盘在项目中你常用的那些数组API
  11. 双目标定(三)标定流程(含矫正)
  12. TypeError: Person() takes no arguments
  13. 我虽买不起99朵玫瑰花送你,但它可以——(看完还不肯当我女朋友?)
  14. 和包贷是什么?究竟如何
  15. 8cm等于多少像素_1cm等于多少像素??
  16. JAVA的教师档案管理系统_教师档案管理系统的设计与实现
  17. Linux查看文件的几种命令比较:vi、vim、cat、less
  18. 一类用 LCT 维护信息的题目
  19. 2018年4月前端必须star的github项目
  20. 无忧无盘服务器内存,无忧无盘安装以及配置教材.doc

热门文章

  1. flutter 应用场景_【Flutter 1-12】Flutter手把手教程Dart语言——什么是泛型和泛型的使用场景...
  2. AttributeError: 'NoneType' object has no attribute 'grid'报错解决方案
  3. 【视频课】8大Pytorch CV实践案例,超30小时视频助你攻略CV三大基础任务(分类分割检测)
  4. javascript标签在页面中的位置探讨
  5. 【转】使用TCP协议连续传输大量数据时,是否会丢包,应如何避免?
  6. NSIS 的 Modern UI 教程(二)
  7. winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
  8. 一个简单的HTTP通讯的例子,使用了CInternetSession,CHttpConnection,CHttpFile三个类
  9. Metasploit从文件中读取目标地址
  10. 痴迷物理,无法自拔——3.24