![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 81
Ocean_WANG_
最怕你一生碌碌无为,还安慰自己平凡可贵!!!
展开
-
Mac使用CocoaPod拉取libwebp代码库
先在命令行输入:git config --global --edit然后添加类似下面的内容:[http] proxy = socks5://127.0.0.1:8889[https] proxy = socks5://127.0.0.1:8889其中的 8889 是我电脑上的 socks 端口,你们可以自行修改为 自己的端口...原创 2020-08-01 11:57:07 · 434 阅读 · 0 评论 -
rootViewController获取遇到的坑
本篇转载自: http://www.qingpingshan.com/rjbc/ios/181557.html你一般怎么获取工程中window上面的RootViewController第一种方法:UIWindow *window = [UIApplication sharedApplication].keyWindow; UIViewController *rootViewControlle转载 2017-11-01 11:37:27 · 1761 阅读 · 0 评论 -
iOS跳转到APP的设置页面
因为目前我们开发的APP已经没有适配iOS8以前系统的必要了,所以现在只记下iOS8以后使用的方法NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[原创 2017-11-30 19:05:38 · 1325 阅读 · 0 评论 -
ProtocolBuffer使用在swift中的使用(运用第三方和苹果官方两种方式)
ProtocolBuffer环境安装环境安装ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"brew install automakebrew install libtoolbrew install protobufbrew install protobuf-swift...原创 2018-04-07 03:34:44 · 1165 阅读 · 0 评论 -
SDWebImage支持URL不变时更新图片内容
SDWebImage在iOS项目中是一个很常用的开源库,而且众所周知的是,它是基于URL作为Key来实现图片缓存机制的。在90%左右的情况下, 图片与URL是一一对应的,即使服务器修改了图片也会相应的变更URL。但是在少数情况下,服务器修改了图片后不会变更相应的URL,也就是 说图片本身的内容变了然而它的URL没有...转载 2018-04-10 23:11:21 · 588 阅读 · 0 评论 -
使用ImageIO加载GIF图片
众所周知,iOS并不是很好支持GIF图片,用的框架并不能很好支持,往往达不到想要的效果,下面介绍如何使用ImageIO实现GIF图片的加载,废话不多说,直接上代码// 获取NSData类型 guard let filePath = Bundle.main.path(forResource: "demo.gif", ofType: nil) else { return } ...原创 2018-04-17 09:31:51 · 2800 阅读 · 0 评论 -
iOS利用AVFoundation实现视频音频的输入&输出,切换摄像头并保存
iOS中AVFoundation是一个专门的音频,视频处理库,很强大的一个库,配合GPUImage能够实现很多音视频和图片的处理,如:美颜效果等等采集步骤采集步骤文字描述导入框架相关API主要在AVFoundation框架中,因此需要先导入框架创建捕捉会话(AVCaptureSession)该会话用于连接之后的输入源&输出源输入源:摄像头&话筒输出源:拿到对应的音频&视频数...原创 2018-04-17 09:45:17 · 1163 阅读 · 0 评论 -
利用CocoaPods为多个target添加依赖库
单个targetplatform :ios, '8.0'use_frameworks!target 'targetName' do pod 'Alamofire'end多个target依赖相同的库(Ruby语法)platform :ios, '9.0'use_frameworks!targetsArray = ['targetName1', 'targetName2']ta...原创 2018-04-17 10:07:31 · 716 阅读 · 0 评论 -
GPUImage滤镜
GPUImage的介绍GPUImage 是一个开源的基于GPU的图片或视频的处理框架,其本身内置了多达120多种常见的滤镜效果GPUImage是利用GPU,使在图片和视频上应用不同的效果和滤镜变得非常的容易,同时它还拥有出色的性能,并且它的性能要比苹果内置的相关APIs出色高斯模糊(毛玻璃)效果在iOS总实现毛玻璃效果方式有很多UIToolBar本身有毛玻璃效果iOS8之后UIVisualEffe...转载 2018-04-17 15:51:12 · 203 阅读 · 0 评论 -
iOS 直播推流 - 搭建基于RTMP的本地Nginx服务器报错homebrew/nginx was deprecated. This tap is now empty as all its form
最近搭建基于RTMP的本地Nginx服务器,没想到第一步克隆就报错:homebrew/nginx was deprecated. This tap is now empty as all its formulae were migrated.具体如下:第一步使用: 1> 将Nginx Clone到本地$ brew tap homebrew/nginx报错如下:出现的原因是homebrew/...原创 2018-04-24 13:33:53 · 4494 阅读 · 3 评论 -
iOS创建绝对的单例
iOS创建单例的方式有很多,系统中的如:[NSUserDefaults standardUserDefaults];[NSFileManager defaultManager];等等这些方式创建单例。但是这些不是绝对的单例,如果用下面方式创建他们就不是一个对象了。[NSUserDefaults new];[NSFileManager new];所以创建绝对的单例,就是无论使用何种方式调用,只生...原创 2018-05-11 10:12:21 · 731 阅读 · 0 评论 -
runtime的消息机制
一,runtime的简介:runtime简称运行时。Object-C就是运行时机制也就是运行时候的一些机制。其中最主要的就是消息机制。1>和C语言的区别C语言:函数的调用在编译的时候就决定了调用那个函数。OC语言:它的调用是个动态调用过程,也就是说在编译阶段并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函原创 2016-11-02 10:48:22 · 345 阅读 · 0 评论 -
Xcode导入runtime框架函数参数没有提示或Too many arguments to function call, expected 0, have 2错误
在Xcode6之前运用objc_msgSend,是有参数提示的。但是从Xcode6之后,苹果不推荐我们使用runtime,所以就取消了参数提示功能。如果我们以前运用了runtime的语法,此时运行会报错:Too many arguments to function call, expected 0, have 2原创 2016-11-02 13:33:32 · 6595 阅读 · 0 评论 -
用runtime仿照系统自定义KVO -- 深度解析KVO原理
从上一篇我们已经清楚了KVO是如何实现的,我们先来复习下,KVO的实现步骤:1.自定义一个NSKVONotifying_Studet的子类2.重写setName方法,在里面通知观察者3.修改isa指针,指向NSKVONotifying_Studet类,好让外界调用这个子类。原创 2016-09-19 14:33:43 · 608 阅读 · 0 评论 -
KVO的实现原理分析
KVO,即:Key-Value Observing,它提供一个机制,当指定的对象的属性发生了改变,则对象就会接收到通知。也就是说它能时刻监听到属性的改变。原创 2016-09-19 09:44:24 · 430 阅读 · 0 评论 -
block的高级用法(二) -- block作为返回值,链式编程思想
相信用过Masonry框架的同学,估计都对里面的调用方式记忆犹新 -- 都是用点语法调用的。他是怎么做到的能这样一直调用呢?大家可以思考下,在iOS中,一个函数的返回值还能添加参数的,会是什么实现呢?其实不难想到那就是 -- block。原创 2016-09-18 16:46:40 · 5132 阅读 · 0 评论 -
block的高级用法(一) -- block传值
我们先从简单的入手,先讲下block的传值,后面会有更精彩的。在讲传值之前我们先复习下block的基础知识原创 2016-09-18 15:19:13 · 1725 阅读 · 1 评论 -
self和super的深入解析
self和super的深入解析原创 2016-09-16 22:33:46 · 469 阅读 · 0 评论 -
Xcode模拟器不显示iOS版本
最近Xcode8更新了,突然发现Xcode的模拟器后面显示为UDID不是显示为iOS版本原创 2016-09-16 09:13:00 · 1944 阅读 · 2 评论 -
正则表达式
正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。原创 2016-10-18 19:07:19 · 313 阅读 · 0 评论 -
Xcode8用Swift将图片写入到相册UIImageWriteToSavedPhotosAlbum方法
Xcode8中用UIImageWriteToSavedPhotosAlbum方法将图片写入相册:当使用这个方法写入图片的时候,发现以前使用的方法调用会报错,这里就写出我改正后所使用的方法原创 2016-10-07 21:41:11 · 5866 阅读 · 0 评论 -
Xcode8导入框架出现Use Legacy Swift Language Version的报错
“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the bui原创 2016-09-20 16:18:10 · 25921 阅读 · 1 评论 -
UICollectionView的头部创建
UICollectionView的HeaderView的创建原创 2016-10-31 13:52:25 · 739 阅读 · 0 评论 -
runtime获取查看内部成员变量(OC和Swift两种方法获取)
在开发中经常有些需求,凭借着苹果提供的API不好实现,或者实现起来比较麻烦。此时,我们就可以运用runtime来获取类的内部成员变量,然后运用KVC进行替换,来达到目的。下面就贴出运用runtime来获取内部成员变量的方法,以获取UITextView类为例原创 2016-11-03 15:07:58 · 2277 阅读 · 0 评论