iOS开发经验1.1

UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:@"验证码发送失败" preferredStyle:UIAlertControllerStyleAlert];
            UIAlertAction *cancel=[UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleCancel handler:nil];
            [alert addAction:cancel];
            [self presentViewController:alert animated:YES completion:nil];

提示框基本格式
效果:

2.与服务器交互(重点)
首先要了解http服务HTTP协议
实现PC与设备之间的数据传输的最佳方式就是在程序中嵌套一个http 服务器

GET和POST的选择

选择GET和POST的建议

(1)如果要传递大量数据,比如文件上传,只能用POST请求

(2)GET的安全性比POST要差些,如果包含机密\敏感信息,建议用POST

(3)如果仅仅是索取数据(数据查询),建议使用GET

(4)如果是增加、修改、删除数据,建议使用POST

GET和POST方法


引用块内容iOS中发送HTTP请求的方案

在iOS中,常见的发送HTTP请求(GET和POST)的解决方案有

(1)苹果原生(自带)

NSURLConnection:用法简单,最古老最经典最直接的一种方案

NSURLSession:iOS 7新出的技术,功能比NSURLConnection更加强大

CFNetwork:NSURL*的底层,纯C语言

(2)第三方框架

ASIHttpRequest:外号“HTTP终结者”,功能极其强大,可惜早已停止更新

AFNetworking:简单易用,提供了基本够用的常用功能

AFNetworking3.0迁移指南

利用AFN3.0-POST方法进行服务器注册(后台接口已经写好):

//1.请求管理者
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    AFSecurityPolicy *securitypolicy = [AFSecurityPolicy defaultPolicy];
    securitypolicy.allowInvalidCertificates = YES;
    mgr.securityPolicy = securitypolicy;
    
    //2.后台登录接口
    NSURL *URL = [NSURL URLWithString:[ServerAPITools RegisterUserphone:phonenumberTextField.text Password:passwordTextField1.text Username:nameTextField1.text]];
    
    //3.发送一个POST请求
    [mgr POST:[URL absoluteString] parameters:nil progress:^(NSProgress *uploadProgress) {
    }  success:^(NSURLSessionDataTask *operation, id responseObject){
        NSLog(@"请求成功%@", responseObject);   
    }failure:^(NSURLSessionDataTask *operation, NSError *error){
        NSLog(@"请求失败-%@",error);
    }];

cocoapod updata之后的问题

解决方法:project ->info ->configurations,debug和release改为pod

4.运行出现

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file.

因为在iOS9 beta1中,苹果将原http协议改成了https协议,使用 TLS1.2 SSL加密请求数据。

解决办法:

在info.plist中添加

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>

一直看到前辈的代码的委托方法中有resignfirstresponder,很好奇所以查了一下资料,其实它的作用是:

取消第一响应者状态。如果对textfield使用的话,textfield的第一响应者状态就会取消

比如:

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

效果:

当用户按下return键或者按回车键,keyboard消失

再比如:

- (IBAction)viewAction:(id)sender {
    [zhanghao resignFirstResponder];
    [mima resignFirstResponder];
}

效果:

触摸背景关闭textfiled的键盘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值