AFNetworking

加速度传感器能测哪些物理量?振动、冲击与倾斜测量一次讲清 加速度传感器是工业监测和姿态检测中常用的惯性器件,其核心原理基于牛顿第二定律,通过质量块受力将加速度转化为电信号。但很多人容易混淆,它输出的并不是速度或位移,而是加速度随时间变化的曲线,借助积分运算可进一步获得速度和位移。由于能感知静态重力分量,同一颗传感器既能捕捉设备振动的高频特征,也能记录跌落冲击的瞬态峰值,还能通过反正切计算实现倾斜角测量。振动测量关注时域峰值与频域特征频率,冲击测量依赖高采样率和充足量程,倾斜测量则强调静态条件与校准。理解量程、灵敏度、带宽等参数,区分压电式与MEMS电容式器件的适用 阅读详情

昨天使用Cocoapods导入AFN做POST的时候,导入的最新版的3.0.4,突然发现找不到AFHTTPRequestOperationManager了。。。上github上一看,发现没有这个了。刚开始以为是cocoapods没有给我导进去,因为是小demo,就想自己写一个网络请求的,发现也没有这NSURLConnection了,被弃用了,突然意识到,这个就是AFHTTPRequestOperationManager找不到的原因了,它是基于NSURLConnection封装的!!于是找了一下,现在都用的是NSURLSession了,AFN中用的是AFHTTPSessionManager了~~

特地记录下来,以便遇到这个的朋友们看看!

ps:如果想用以前的话,cocoapods 就不要用最新的版本了,2.6的上面有。


GET请求


AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 

[manager GET:URL parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {  

}     
 success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {  

 NSLog(@"这里打印请求成功要做的事");  

}

failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull   error) {  

NSLog(@"%@",error);  //这里打印错误信息

}];

POST 请求


AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];


NSMutableDictionary *parameters = @{@"":@"",@"":@""};

[manager POST:URL parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {


} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {


} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

}];

暂时用的比较多的就这两个,用到其他的 再来更新!!

最近又用到了下载,索性 上传下载都研究了一下 ,补充进来

补充试用AFN3.0下载方法

/**
 *  AFN3.0 下载
 */
- (void)downLoad{

    //1.创建管理者对象
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //2.确定请求的URL地址
    NSURL *url = [NSURL URLWithString:@""];

    //3.创建请求对象
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    //下载任务
    NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
        //打印下下载进度
        WKNSLog(@"%lf",1.0 * downloadProgress.completedUnitCount / downloadProgress.totalUnitCount);

    } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
        //下载地址
        WKNSLog(@"默认下载地址:%@",targetPath);

        //设置下载路径,通过沙盒获取缓存地址,最后返回NSURL对象
        NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
        return [NSURL URLWithString:filePath];


    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {

        //下载完成调用的方法
        WKNSLog(@"下载完成:");
        WKNSLog(@"%@--%@",response,filePath);

    }];

    //开始启动任务
    [task resume];

}

AFN3.0 上传

/**
 *  AFN 3.0 上传
 *      有两种方式
 *          upLoad1 和 upLoad2
 */

//第一种方法是通过工程中的文件进行上传
- (void)upLoad1{

    //1。创建管理者对象
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    //2.上传文件
    NSDictionary *dict = @{@"username":@"1234"};

    NSString *urlString = @"22222";
    [manager POST:urlString parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
        //上传文件参数
        UIImage *iamge = [UIImage imageNamed:@"123.png"];
        NSData *data = UIImagePNGRepresentation(iamge);
        //这个就是参数
        [formData appendPartWithFileData:data name:@"file" fileName:@"123.png" mimeType:@"image/png"];

    } progress:^(NSProgress * _Nonnull uploadProgress) {

        //打印下上传进度
        WKNSLog(@"%lf",1.0 *uploadProgress.completedUnitCount / uploadProgress.totalUnitCount);
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        //请求成功
        WKNSLog(@"请求成功:%@",responseObject);

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        //请求失败
        WKNSLog(@"请求失败:%@",error);
    }];

}

//第二种是通过URL来获取路径,进入沙盒或者系统相册等等
- (void)upLoda2{
    //1.创建管理者对象
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //2.上传文件
    NSDictionary *dict = @{@"username":@"1234"};

    NSString *urlString = @"22222";
    [manager POST:urlString parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

        [formData appendPartWithFileURL:[NSURL fileURLWithPath:@"文件地址"] name:@"file" fileName:@"1234.png" mimeType:@"application/octet-stream" error:nil];
    } progress:^(NSProgress * _Nonnull uploadProgress) {

        //打印下上传进度
        WKNSLog(@"%lf",1.0 *uploadProgress.completedUnitCount / uploadProgress.totalUnitCount);
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        //请求成功
        WKNSLog(@"请求成功:%@",responseObject);

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        //请求失败
        WKNSLog(@"请求失败:%@",error);
    }];
}

监测当前网络状态(网络监听)

- (void)AFNetworkStatus{

    //1.创建网络监测者
    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];

    /*枚举里面四个状态  分别对应 未知 无网络 数据 WiFi
     typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
         AFNetworkReachabilityStatusUnknown          = -1,      未知
         AFNetworkReachabilityStatusNotReachable     = 0,       无网络
         AFNetworkReachabilityStatusReachableViaWWAN = 1,       蜂窝数据网络
         AFNetworkReachabilityStatusReachableViaWiFi = 2,       WiFi
     };
     */

    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        //这里是监测到网络改变的block  可以写成switch方便
        //在里面可以随便写事件
        switch (status) {
            case AFNetworkReachabilityStatusUnknown:
                WKNSLog(@"未知网络状态");
                break;
            case AFNetworkReachabilityStatusNotReachable:
                WKNSLog(@"无网络");
                break;

            case AFNetworkReachabilityStatusReachableViaWWAN:
                WKNSLog(@"蜂窝数据网");
                break;

            case AFNetworkReachabilityStatusReachableViaWiFi:
                WKNSLog(@"WiFi网络");

                break;

            default:
                break;
        }

    }] ;
}


文/WK_IOSDevelpoer(简书作者)
原文链接:http://www.jianshu.com/p/11bb0d4dc649
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
拥有AI助手便能解放双手?——抖音直播脚本的生成 科技改变生活,AI助手帮你完成抖音创作! 阅读详情

相关推荐

Docker容器n8n中 read/write files from disk 无法读取容器内文件解决方案

《n8n文件读写Docker部署常见问题解决方案》摘要:针对n8n 1.90.2版本在Docker环境下文件读写失败问题,本文分析常见错误包括路径错误(ENOENT)、权限不足(EACCES)及节点误用问题。核心解决方案为:1)通过-v参数挂载宿主机目录到容器(如/files);2)使用新版Read/WriteFilesfromDisk节点操作文件;3)确保权限设置正确。提供可直接导入的示例工作流JSON,演示从CSV读取到结构化数据处理的全流程。特别强调已部署用户需重新挂载卷的正确操作方式,并附解决方案对

m0_74822402的博客 2184

iOS开发之AFNetworking 3.0.4使用

iOS开发之AFNetworking 3.0.4使用 使用Cocoapods导入AFN做POST的时候,导入的最新版的3.0.4,突然发现找不到AFHTTPRequestOperationManager了。。。上github上一看,发现没有这个了。刚开始以为是cocoapods没有给我导进去,因为是小demo,就想自己写一个网络请求的,发现也没有这NSURLConnection了,被弃用了,突然

msyqmsyq的博客 944

Linux C/C++ or 嵌入式面试之《C/C++笔面试系列》(10) C++ 前置后置增减运算符重载形式与比较

C语言的++、–运算符在此不讨论。 文章目录1、前置后置增减运算符重载的形式2、前置和后置运算符的性能比较 1、前置后置增减运算符重载的形式 自增运算符“++”和自减运算符“–”分别包含两个版本。即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的。因此,当我们在对这两个运算符进行重载时,就必须区分前置和后置形式。C++根据参数的个数来区分前置和后置形式。如果按照通常的方法来重载 ++ 运算符(即作为成员函数重载时不带参数,或者作为非成员函数重载时带有一个参数),那么重载

二进制君 5831

[iOS]AFNetworking使用遇到的问题总结

最近一个项目,在请求接口时,一直有问题,使用get请求可以正常请求到数据,而post则无法获取数据 控制台输出: http://192.168.69.121:8080/artboss-webapp/ios/checkcode params:{ "user_phonenumber" = 185****0925; } errorInfos:The data couldn’t be re

流火緋瞳的博客 1万+

【PostgreSQL教程】PostgreSQL 特别篇之 语言接口Java

本篇教程的Java程序中开始使用PostgreSQL之前,需要确保在计算机上设置了PostgreSQL JDBC和Java。您可以检查Java教程以在计算机上安装Java。现在让本篇教程检查如何设置PostgreSQL JDBC驱动程序。

No8g攻城狮的博客 1758

069_死区效应对输出电压畸变的补偿思路

死区效应导致逆变器输出电压在过零点出现台阶畸变,引发THD升高。其本质是死区期间续流二极管钳位造成的非线性误差,与电流方向、负载大小、母线电压耦合。补偿需结合前馈(基于电流方向自适应调整偏置)与反馈(抑制残余谐波),关键在于准确判断电流方向(采用滞环滤波避免跳变)、合理设置补偿量(随负载动态调整),并注意补偿位置、极性及限幅防漂移。调试应通过差分探头、FFT频谱等手段验证效果,最终实现全负载范围内的低畸变输出。

2401_88858637的博客 21

iOS使用AFNetworking的POST上传数据到服务器,服务器接收不到数据的原因和解决办法

原因:后台的json格式错误,后台数据格式不规范导致的。有时安卓好用iOS却不好用。解决方法:1.跟后台沟通选用通用的JSON格式。2. 给AFHTTPSessionManager的实例添加一个方法manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"appl...

weixin_35534417的博客 3166

ROSTEA软件下载及情感分析详细操作教程(附网盘链接)

原ROST虚拟团队出品的ROST系列文本内容挖掘分析平台,是辅助人文社会科学研究的免费计算平台。该软件可以实现文本预处理、分字、分词、词性识别、特殊名词抽取、词频统计、英文词频统计、情感计算、分类算法、聚类算法等一系列文本挖掘,是人文社科研究和论文写作的一把利器。该软件用户量超过一万人,遍布海内外100多所大学,包括剑桥大学、日本北海道大学、北京大学、清华大学、香港城市大学、澳门大学等众多高校。关于ROSTCM6的安装介绍可以参考之前的文章ROSTCM6软件下载及语义网络分析详细操作教程ROST EA。

m0_64336780的博客 1万+

iOS 之 cocoapods安装与使用

我们都知道第三方库,一般使用cocoapods管理,cocoapods在我们IOS开发中有着很大的作用。 好了,现在看下它的安装步骤: 1.打开终端,输入 sudo gem install cocoapods 结果: WARNING: Improper use of the sudo command could lead to data loss or the dele...

weixin_30662109的博客 147

【Burp入门第三十七篇】AutoRepeater插件安装使用教程+越权实战案例

AutoRepeater 通过接收满足特定条件的请求,按照预设的基础替换规则对请求进行处理。在接收到匹配请求后,它首先应用基础替换,然后针对每个定义的替换创建请求副本并应用该替换操作,从而实现对不同参数的修改和请求的重复发送,以此来全面检测 Web 应用的授权情况。1、自动化请求重复:能自动复制、修改并重发 HTTP 请求,避免了手动重复操作的繁琐,大大提高了 Web 应用授权测试的效率。2、灵活参数替换:可灵活改变邮箱地址、账号身份、角色、URL 和 CSRF 令牌等关键参数。

等风来 2035

[Python] 为什么你的脚本明明没报错,却什么也没发生?

Python脚本运行后没报错却没结果?这是许多开发者遇到的棘手问题。文章分析了六种常见原因:代码未进入目标逻辑分支、输出路径错误、中间数据为空、异常被吞掉、异步操作未完成、运行了错误脚本版本。建议通过"过程可视化"排查,如打印关键变量、检查工作目录、验证数据状态等。职场中更应关注结果验证而非单纯代码执行,确保脚本真正解决问题。建立结果验证意识是从"会写代码"到"稳定交付"的关键转变。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 303

AFNetworking 与 UIKit+AFNetworking 详解

链接地址一、 文件目录 链接地址1. AFNetworking 目录内容 链接地址2. UIKit+AFNetworking 目录内容 链接地址3. 关联关系(AFNetworking) 链接地址二、 详细介绍 链接地址1. AFNetworking 这是 AFNetworking 的主要部

zhangqq16781的博客 529

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

AFNetWorking 同步调用

最近项目需要使用AFNetWorking,原来使用ASI,同步异步都有,但是,AFNETWORKING没有同步调用,全是异步,封装了个试试.         就是用个NSCondition 搞个等待就OK了. -(NSDictionary*)reqUtil:(NSString*)reqURLStr {          NSCondition* itlock = [[NSCondit

jiajiazzl的专栏 7907

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

AFNetworking的使用

1,下载AFNetworking 库https://github.com/AFNetworking/AFNetworking 2,解压把下面的文件导入工程里面 3,在需要用到的地方倒入文件头#import “AFNetworking.h” 4,建一个管理它的类 .h文件 @interface MyAFNetworking : NSObject @property (assign,n

搬砖 8136

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

AFNetWorking中进行HTTPS网络请求

AFNetWork这个库,是现在大家使用比较用的库,做网络请求的时候用起来还是比较爽的。 有时候我们会用到HTTPS,在AFNetworking这个库,其实已经很好的封装了HTTPS,是的我们很简单就能使用。 第一步,导入AFNetWorking 库 第二步,在pch文件中加入 [objc] view plaincopy #import  

Bruce__Liu的博客 1174

读读 AFNetworking

​ 以前看过源码,但是看得很迷,还是这篇文章好,作者很厉害,其他文章也可以看看,原文(是一系列文章,此处是第一篇,后续直接看原文就好) :AFNetworking到底做了什么?

gcs的博客 1012

AFNetworking源码学习

简介: AFNetworking是iOS、macOS、watchOS和tvOS的一个令人愉快的网络库。它建立在基础URL加载系统之上,扩展了构建到Cocoa中的强大的网络高级抽象。它有一个模块化的体系结构,具有设计良好、功能丰富的API,使用起来很愉快。 然而,也许最重要的特点是,每天都在使用AFNetworking并为其做出贡献的开发人员组成了一个令人惊叹的社区。AFNetworking为iPhone、iPad和Mac上一些最受欢迎、广受好评的应用提供了动力。 参考的大佬博客: AFNetworking详

m0_52192682的博客 1289

关于AFNetworking的使用

本文为自己在学习AFNetworking的使用过程中碰到的一些问题,总结成文。在运行疯狂iOS讲义中关于AFNetworking库的应用时碰到了以下问题,然后给出自己的解决方法。

志在四方 1448

AFNetworking缓存

AFNetworking缓存 文章目录AFNetworking缓存概述一、AFImageCacheNSURLCache设置NSURLRequest对象的缓存策略用NSURLCache缓存数据到磁盘Cache-Control HTTP Header继承并控制NSURLCache在缓存之前重写NSURLResponse禁用NSURLCache 概述 AFNetworking是由Matt Thompson开发 AFNetworking实际上利用了两套单独的缓存机制: AFImagecache : 继承于NSC

ArthurCaoMH的博客 980

AFNetWorking的使用配置

1首先要把AFNETWORK 导入到你的工程中 就是那19个文件afnetworking 文件夹 2然后还要在工程里面引出2个新的framwork ,SystemConfiguration/System和MobileCoreServices 3很重要的一步在你的In "YOURPROJECTNAME-Prefix.pch" file include this code 导入

白雪公主的黑暗骑士丶 680

AFNetworking 结构

//以下说明为 AFNetworking版本 1.x     //For compatibility with iOS 5 or Mac OS X 10.7, use the latest 1.x release.               /**      一:AFNetworking 结构:                       1: NSOperation--->

我是个程序猿 924

AFNetworking Example

AFHTTPRequestOperation ExampleNSURL *URL = [NSURL URLWithString:@"http://example.com/foo.json"]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; AFHTTPRequestOperation *operation = [[AFHTTP

ios_xhb的专栏 1589
上一篇: COPY, RETAIN, ASSIGN , READONLY , READWRITE,STRONG,WEAK,NONATOMIC整理
下一篇: 支付SDK
SpringJustin
博客等级 码龄11年 2粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值