iOS对AFNetworking的二次封装

2018-12-14 王建伟 iOS开发

AFNetworking是一个很好用的网络请求的第三方库,它的很多方法已经封装的很好了,但是做项目的时候,总是有情况需要对网络进行统一处理,比如缓存策略,重复请求管理功能,这些AFN都没有提供直接的方法,比如每次请求回来,都可能存在异常,我们肯定不能在每个请求里都加判断,所以就基于AFNetworking之上做一层封装,向业务层更加友好

首先建一个子类,继承自AFNetworking中的AFHTTPSessionManager类,这个类主要用来处理网络请求

因为真个程序中只需要存在一个AFHTTPSessionManager的子类SPHTTPManager,所以将SP

然后我们需要根据自身需求封装一些工程需要的功能,比如一般都需要用到的post和get请求,我们需要在请求成功的时候对返回的数据进行一些处理,失败的时候对错误信息进行统一处理,所以我们就需要在方法中加入相应的程序

1.post方法

2.get方法

评论(0) 浏览(1437)

实现子div水平居中显示

2018-12-13 dingshangchao CSS样式表

实现子div水平居中显示,实现图示效果

阅读全文>>

评论(0) 浏览(1170)

Android 录音详解(四)—— 录音添加背景音乐

2018-12-10 liuyingcong 安卓开发

K歌类 APP 都是在录音的基础上与伴奏音乐合并,组成一首曲目:

今天就讲一讲把 mp3 格式的背景音乐解码,与录音合并,并最终输出 mp3 格式的文件。注意是实时的哦,即边录音边解码边合成,录音结束即合并结束:

阅读全文>>

标签: 录音添加背景音乐 添加伴奏

评论(0) 浏览(2353)

关闭WPS热点及广告的方法

2018-12-10 zhulinan 其它

WPS可以兼容微软Office多种格式文档,可以免费使用,但其推广广告和热点功能让人很烦,其实WPS是可以关闭广告和热点推送的 ...

阅读全文>>

评论(0) 浏览(1132)

thinkphp5.1的门面模式(Facade)

2018-12-7 hubo php开发

thinkphp5.1的门面模式(Facade)

阅读全文>>

评论(0) 浏览(1933)

docker基本命令

2018-12-7 dingshangchao 服务器

docker pull                获取image
docker build              创建image
docker images           列出images
docker run                运行container
docker ps                 列举当前运行的container
docker ps -a             列举所有的container
docker rm                删除container
docker rmi               删除image
docker cp                在host和container之间拷贝文件
docker commit         保存改动为新的image

评论(0) 浏览(1070)

php上传大文件时需要修改配置

2018-12-7 dingshangchao php开发

php.ini中,意义如英文名

1.    upload_max_filesize

2.    memory_limit

3.    post_max_size

4.    max_execution_time

评论(0) 浏览(1029)

iOS预编译文件设置以及常用宏记录

2018-12-7 王建伟 iOS开发

创建一个iOS工程的时候,为了方便,我们一般会设置大量的宏,宏我们一般会写在一个.pch文件中,然后我们需要将.pch文件的路径在工程中设置一下,以达到预编译的作用

方法一:

在Finder中找到pch文件后,直接拖到这里:Build Settings ->Apple LLVM7.0 - Language -> Prefix Header。这样设置的话,就将pch文件的位置固定了,如果将工程换个位置,就找不到pch文件了

方法二:

在Finder中找到pch文件后,直接拖到这里,别停下,还没有结束,将前面的内容删除,只留下pch名字,还有上一层的名字,然后在最前面加上$(SRCROOT),然后就结束了

例子:$(SRCROOT)/ruanjian/PrefixHeader.pch

这样的好处就是,不管你把工程移动到哪里,都可以找到pch文件

下面是一些工程中常用的宏整理:

1.屏幕宽度 #define SPScreen_W [UIScreen mainScreen].bounds.size.width

2.屏幕高度 #define SPScreen_H [UIScreen mainScreen].bounds.size.height

3.导航栏高度 #define TOP_H (SPScreen_H == 812.0?44.0f:20.0f)

4.颜色RGB #define SPRGBColor(R,G,B,A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]

5.控件位置 #define SPFrame(X,Y,W,H) CGRectMake(X,Y,W,H)

6.参照元素底部位置 #define SPGetMaxY(view) CGRectMaxY(view.frame)

7.参照元素宽度位置 #define SPGetMaxX(view.frame)

8.参照元素宽 #define SPGetWidth(view) view.frame.size.width

9.参照元素高 #define SPGetHeight(view) view.frame.size.height

10.点位置 #define SPPoint(X,y) CGPointMake(X,Y)

11.AppDelegate单例 #define SPAppDelegate ((AppDelegate*)[UIApplication sharedApplication].delegate)

12.NSUserDefaults存储数据 #define SPSetDefaults(value,key) [[NSUserDefaults standardUserDefaults] setObject:value forKey:key]

13.NSUserDefaults读取数据 #define SPReadDefaults(key) [[NSUserDefaults standardUserDefaults] objectForKey:key]

14.沙盒地址 #define SPDefaultPath NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDOmainMask,YES)[0]

15.block弱引用 #define SPSelf __weak typeof(self) weakSelf = self

16.字体大小设置 #define SPFont(n) [UIFont systemFontOfSize:n]

评论(0) 浏览(1270)

vue组件之间的参数传递

2018-12-6 hanbin Web前端

vue组件之间的参数传递是vue的重点之一。主要分为:

阅读全文>>

标签: vue组件

评论(0) 浏览(1230)

Android 录音详解(三)—— 音频解码

2018-12-5 liuyingcong 安卓开发

    想要转换音频格式(如 mp3格式转 wav格式)或者添加背景音乐,都需要解码声音文件,今天就来讲一讲解码的实现:

    幸运的是 Android SDK 中提供了解码的 API,它就是 MediaCodec,也就是音频解码器,我们用它实现 mp3格式音频的解码:

阅读全文>>

标签: Android 音频解码 MediaCodec

评论(0) 浏览(1619)

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved