自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(229)
  • 收藏
  • 关注

转载 iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析)

很少有人知道weak表其实是一个hash(哈希)表,Key是所指对象的地址,Value是weak指针的地址数组。更多人的人只是知道weak是弱引用,所引用对象的计数器不会加一,并在引用对象被释放的时候自动被设置为nil。通常用于解决循环引用问题。但现在单知道这些已经不足以应对面试了,好多公司会问weak的原理。weak的原理是什么呢?下面就分析一下weak的工作原理(只是自己对这个问题好奇,学习过...

2018-09-29 11:38:39 345

转载 iTerm2 配色方案

iTerm2 配色方案(oh-my-zsh& Powerline)公司新配的Macbook Pro第一件事就是装iTerm2,这篇文章将记录我的整个安装过程!希望大家都一次安装成功!请认真观看!看看配置完是长这样滴!别着急,带你一起配......iterm2.png先去官网下载iTerm2,打开后是全黑色的背景。Screen Shot 2017-08-0...

2018-09-06 21:57:43 654

转载 iOS第三方HTML解析 TFHpple 的简单使用

准备工作1.导入TFHpple2.引入静态库文件libxml2.2.dylib3.PROJECT 中的 Search Path - header search paths添加 /usr/include/libxml2解析步骤1.初始化data2.根据data创建TFHpple实例3.查找节点存入数组4.在该节点下 循环查找子节点源HTML代码:<div cla...

2018-09-03 10:00:38 1103

转载 浮动标签01-JVFloatLabeledTextField

GitHub地址:JVFloatLabeledTextField star:6000+ ⭐️⭐️⭐️ 以下内容来源于官方源码、 README 文档、测试 Demo或个人使用总结 !JVFloatLabeledTextField 是已经被称为“浮动标签模式”的UX模式的第一实现。由于移动设备的空间限制,通常只依靠...

2018-09-03 09:48:14 476

转载 iOS-摄像头

一、摄像头在iOS中,手机摄像头的使用有以下两种方法:UIImagePickerController拍照和视频录制优点:使用方便,功能强大 缺点:高度封装性,无法实现一些自定义工作AVFoundation框架实现优点:灵活性强,提供了很多现成的输入设备和输出设备,还有很多底层的内容可以供开发者使用 缺点:需要和底层打交道,学习难度大,使用复杂我们平常使用UIImagePi...

2018-08-06 16:43:02 1463

转载 iOS加速计和陀螺仪

一、CoreMotion框架介绍我们知道有一些iOS的应用,会有一些特殊的要求,比如:电子罗盘指南针之类的应用:让我们知道方向。 运动类型软件:让我们知道我们跑步多少公里。 社交软件中的摇一摇功能。 游戏中扮演角色类中根据设备的晃动等进行操作。其实,他们多半是使用了iOS中的一个核心运动框架CoreMotion.framework使用iOS提供给我们的CoreMotio...

2018-08-06 16:39:34 469

转载 使用SlideNavigationController实现侧滑菜单栏

最近接到的项目当中使用到了侧滑菜单栏,由于本人所在公司属于外包,开发周期短暂,于是乎本人就Google到了一个强大并且使用很方便的框架:SlideNavigationController。下面先放几张截图: 右滑.png 首页.png 左滑.png使用的第一步当然是集成SlideNavigationController,我们可以使用cocoapods,也...

2018-08-03 17:20:05 385

转载 iOS 点击事件传递及响应

前言:苹果的官方文档《Event Handling Guide for iOS》对事件处理做了非常详尽清晰的解释,建议大家仔细研读关于iOS的事件响应机制网上讲解文章不少,有的文章内容少没讲全面,有的说的太多,一个概念反复说,传递和响应混在一起讲,不好理解,我综合参考了几篇文章总结了一下,觉得可以分为以下几点来讲1. iOS中的事件介绍2. 事件的产生和传递3. 事件响应4. 实际...

2018-08-03 17:19:28 1055

转载 ios UITapGestureRecognizer 单指单击、单指多击、多指单击、多指多击事件操作

在ios开发中,需用到对于手指的不同操作,以手指点击为例:分为单指单击、单指多击、多指单击、多指多击。对于这些事件进行不同的操作处理,由于使用系统自带的方法通过判断touches不太容易处理,而且会有事件之间的冲突。 接下来,通过以UITapGestureRecognizer 手势实现此功能需求 代码如下:ViewController.m中的viewDidLoad方法: 1:...

2018-08-03 17:18:19 1276

转载 iOS实现视频和图片的上传思路

思路:#1. 如何获取图片?#2. 如何获取视频?#3. 如何把图片存到缓存路径中?#4. 如何把视频存到缓存路径中?#5. 如何上传?接下来, 我们按照上面的思路一步一步实现首先我们新建一个类, 用来储存每一个要上传的文件uploadModel.h? 1 2 3 4 5 6 7 #im...

2018-08-03 15:48:04 1987

转载 iOS 播放GIf图, 动态效果

一.如果你集成了SDWebImage , 有一个很简单的方法//导入sdwebImage的某个头文件#import "UIImage+GIF.h"      _bubble1.backgroundColor = [UIColor clearColor];    NSString *str = [[NSBundle mainBundle]pathForResource:@"b...

2018-08-03 15:32:50 787

转载 iOS开发 多线程的高级应用

在iOS开发的道路上,多线程的重要性不言而喻. 大部分我们都停留在基础的使用上面.缺乏高级应用. 缺乏提升,是因为我们面对他太少,复杂的事情重复做,复杂的事务基础化. 差距就是这样拉开了 ------- 伟大的楼主言归正传: 今天讲讲GCD的高级应用之信号量篇一, 信号量的本质:信号量的本质是数据操作锁, 它本身不具有数据交换的功能,而是通过控制其他的通信资源来实现进程间通信,它本...

2018-08-03 15:03:50 286

转载 iOS Lottie集成与使用

LifeLottie介绍“Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with bodymovin and renders the vector animations natively on mobile and th...

2018-08-03 14:26:22 1674

转载 iOS中的分类(category)和类扩展(extension)

一、分类(Category):概念:分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体的指针。原则上它只能增加方法,不能增加成员(实例)变量。具体原因看源码组成:Category源码:CategoryCategory 是表示一个指向分类的结构体的指针,其定义如下:typedef struct objc_category *Category;struct ob...

2018-08-03 09:59:35 270

转载 快速搭建iOS开发工程框架

一个简洁优雅的iOS工程目录,能够帮助团队提升开发效率,同时也令自己进行心情愉悦的编码;反之,杂乱无章的目录则会使人心情烦躁,降低团队开发效率。不知你是否也有同感?欢迎你在评论区写下的感受。首先,我想说: 本文说的工程架构适用于纯代码开发的团队,也适用于使用Storyboard开发的团队; 本文适用于传统的Tabbar+NavigationBar搭建的app,也适用于其...

2018-08-03 08:45:55 1000

转载 iOS 开发者必会的几项技能,不知不用你就OUT了

前言一个多月的996生活,996并不算什么的,重点是996真的是996.几乎在这时间段里面全是不停地码代码,不过目前已经进入测试阶段,每天稍微改点小bug,空闲时间总算有了那么一丢丢。兜兜转转写了好久,却一直没有正式的将这篇文章分享出去,说来甚是惭愧。主要是公司出现一些状态。。只可意会不可言传~~~目录一、Charles1.1 Charles主要的功能1.2 将 Charles...

2018-08-02 16:34:01 509

转载 iOS中UIScrollView、UIWebView、UICollectionView实现商品详情页图文混排

 实现思路 将文本和图片拼接为HTML代码。 使用JavaScript添加点击事件。 使用MagicWebViewWebP提供UIWebView加载webp格式图片支持。 使用UIWebView加载HTML代码。 使用UIWebView代理方法,拦截页面发出的请求,获取selectIndex。 实现效果组件 描述 说明 UI...

2018-08-02 16:05:38 1003

转载 iOS面试题:阿里-P6一面

阿里-p6-一面 1.介绍下内存的几大区域?2.你是如何组件化解耦的?3.runtime如何通过selector找到对应的IMP地址4.runloop内部实现逻辑?5.你理解的多线程?6.GCD执行原理?7.怎么防止别人反编译你的app?8.YYAsyncLayer如何异步绘制?9.优化你是从哪几方面着手?1.介绍下内存的几大区域?1.栈区(stack) 由编译器自动分配并释放,存放函数的参数值,...

2018-02-24 10:32:35 1505

原创 WKWebView内容自适应

问题:有的时候移动端在webview请求的时候,返回的内容呈现在页面很小,这是因为后台没有做手机端的屏幕适配,其实导致这样问题的根源是少了HTML5的meta标签。在后台不做调整的前提下,我们移动端可以做如下修改://webView内容大小自适应        let wkUScript = WKUserScript.init(source: "var meta = document.cr

2018-01-08 13:43:29 1244

转载 HTTP状态码

状态码含义100客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。101服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后

2017-12-22 10:53:37 210

转载 SDWebImage源码剖析(二)

SDWebImageCache管理着SDWebImage的缓存,其中内存缓存采用NSCache,同时会创建一个ioQueue负责对硬盘的读写,并且会添加观察者,在收到内存警告、关闭或进入后台时完成对应的处理:- (id)init { _memCache = [[NSCache alloc] init]; _ioQueue = dispatch_queue_create("co

2017-12-13 14:46:46 254

转载 SDWebImage源码剖析(-)

在开发项目的过程中会用到很多第三方库,比如AFNetWorking,SDWebImage,FMDB等,但一直都没去好好的研究一下,最近刚好项目不是太紧,闲下来可以给自己充充电,先研究一下SDWebImage的底层实现,源码地址:SDWebImage  先介绍一下SDWebImage,我们使用较多的是它提供的UIImageView分类,支持从远程服务器下载并缓存图片。自从iOS5.0开始,NSU

2017-12-13 14:45:41 254

转载 ios中alloc init new的区别

1.在实际开发中很少会用到new,一般创建对象咱们看到的全是[[className alloc] init]但是并不意味着你不会接触到new,在一些代码中还是会看到[className new],还有去面试的时候,也很可能被问到这个问题。2.那么,他们两者之间到底有什么区别呢我们看源码:+ new { id newObject = (*_allo

2017-12-12 10:12:35 255

转载 WKWebView学习笔记

一、简介webView是我们日常开发中不可缺少的一个组件,通常我们都是使用UIWebView来实现的,不过大多数情况下,UIWebView的表现却不尽如人意(最直观的就是内存消耗严重,特别是有视频的时候,有木有!)iOS8之后苹果推荐使用WKWebView替代UIWebView,其主要的有点有:在性能、稳定性WKWebView更多的支持HTML5的特性WKWebView更快,占用内存可

2017-11-20 15:35:22 447

转载 ObjectMapper 简单使用

ObjectMapper是啥?ObjectMapper 是一个在 Swift 下数据转模型的非常好用,并且很 Swift 的一个框架。以前我们在写 OC 代码的时候用 MJExtension 转模型,到了 Swift 的时代赶紧将 ObjectMapper 使用起来吧。用CocoaPods集成首先当然要将这个库导入到自己项目里,在写 Swift 代码时,强力推荐用 CocoaPods 管理第

2017-11-17 10:56:27 1327

转载 Json转模型1--SwiftyJson

JSON是移动端开发常用的应用层数据交换协议。最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本,再把对应数据展现到页面上。但在编程的时候,处理JSON是一件麻烦事。在不引入任何轮子的情况下,我们通常需要先把JSON转为Dictionary,然后还要记住每个数据对应的Key,用这个Key在Dictionary中取出对应的Value来使用。这个过程

2017-11-16 16:28:08 1302

转载 iOS五种本地缓存数据方式 96 GitHubPorter 2016.05.19 14:04 字数 3917 阅读 4579评论 1喜欢 8 前言 iOS本地缓存数据方式有五种: 1.直接写文件

iOS本地缓存数据方式有五种:1.直接写文件方式:可以存储的对象有NSString、NSArray、NSDictionary、NSData、NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中。2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下。3.归档操作(NSkeyedArchiver),不同于前面两种,它可以

2017-11-16 15:43:22 357

转载 swift3.0:sqlite3的使用

介绍一、sqlite是纯C语言中底层的数据库,在OC和Swift中都是经常使用的数据库,在开发中,可以使用代码创建数据库,可以使用图形化界面创建数据库。例如SQLiteManager、SQLiteStudio等  二、对常用的一些方法进行解释如下:OpaquePointer: *db,数据库句柄,跟文件句柄FIFL类似,这里是sqlite3指针;sqlite3_stmt

2017-11-15 18:28:31 335

转载 Swift3.0的闭包总结全

一、闭包的概念有oc基础的都知道,闭包其实是oc里面的block,语法格式不一样,但作用是一样的。主要是用于callBack(异步回调)或者两个类之间的通信。它的本质一个函数,一个可执行的代码块,只是这个函数是没有名字的,也就是匿名函数。你也可以把他看作如 int、float一样,是一种数据类型,一种可以作为参数传递的数据类型。二、基本语法1、闭包的声明//定义一个求和

2017-11-15 14:41:03 320

转载 Swift字符串常用操作总结

版本2:增加了Swift 2.0的语法,与Swift 1.2的语法相比,主要是:advance方法变成了advancedBy方法(但不是简单替换);没有了count方法,count(str)需要变成str.characters.count等。字符串的定义var str1="hello, mandarava." //字符串变量let str2="hello, mandarava." //字符串

2017-11-13 11:55:14 1368

转载 ios面试大全

点击获取:http://www.jianshu.com/nb/4051722

2017-11-13 11:20:53 190

转载 Runtime详解(面试必备)

一、runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。事实证明:在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不

2017-11-13 11:19:48 461

转载 可能碰到的iOS笔试面试题(10)--UI

UIviewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用?viewWillAppear:视图即将可见时调用。默认情况下不执行任何操作viewDidAppear:视图已完全过渡到屏幕上时调用viewWillDisappear:视图被驳回时调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作v

2017-11-13 11:18:37 861

转载 [iOS]关于面试,做一次整理吧(包含BAT面试题目)

iOS面试,可能大部分人认为是编程里面最简单的面试:∵ 不用考算法(排序是什么鬼,我们有sort足以做一切),不用考内存泄露(因为都在用ARC),大部分功能网上都有demo(甚至都不用github上搜,都不用google,直接百度就搜出一坨坨),大概问问做过的东西(其实是就是在说产品功能,是个人都会说好嘛),然后看着价格给得起就可以了...基本如果是招干活的,毕竟在大部分人眼里,iOS

2017-11-13 11:16:23 619

转载 代理丶通知丶KVO之间区别和各自优势

今天在网上看到一个博客上详细的分析了三者之间的区别以及各自的优势,博文地址为http://blog.shinetech.com/2011/06/14/delegation-notification-and-observation/,因为博文是用英文写的,下面将其翻译成中文。 在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行

2017-11-09 14:59:54 321

转载 Swift: KVO 注意事项和属性观察器

前言谁能不爱 KVO 呢,一处修改,处处得知,多么优雅的模式啊!等等 Notification 模式也可以啊,咳咳,Notification 模式下还得发布一个通知。两者的优劣对比是一个很常见的笔试题,但我不觉得这样的题目是个好题目,大部分情况下两者能互换,但两者各有更适合的使用场景,这里暂不讨论了。关于 KVO 推荐这些文章,篇篇精华。老实说,有了这几篇文章后以目前我的水准写不出有价值的啥新

2017-11-09 14:43:11 374

转载 Swift3.0 popToViewController 的使用

1.这个有风险,如果push的固定,没有问题,如果多个地方push,[2]这个监测到的就有可能引起崩溃,推荐使用第二种//[2]代表你想pop的对象的层级,rootVC为0 let idVC = self.navigationController?.viewControllers[2] as! IdentityViewController _ = self.navigationContr

2017-11-08 09:43:41 1106

转载 iOS平台下cookie的使用

分享下最近项目用到的cookie的使用及管理首先,先介绍下iOS对cookie的操作的两个类:帖子来源于:http://blog.csdn.net/chun799/article/details/172069071. NSHTTPCookie  2. NSHTTPCookieStorageNSHTTPCookie对象代表一个HTTP cookie。 这是一个不可改变的对象,从一个包含cookie

2017-11-03 14:36:34 373

转载 史上最全的iOS各种设备信息获取总结(iPhone8/iPhone X 已更新)

更新至iPhone 8、iPhone X为了统计用户信息、下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述一下各种信息的获取方式:点击下载以上展示效果的GitHub源码一行代码就搞定的统一来! // 这个方法后面会列出来 NSString *deviceName = [self getDeviceName];

2017-11-03 11:31:59 2195

转载 Swift——convenience(便利构造函数)和类方法

[plain] view plain copy import UIKit    extension UIButton{            //swit中类方法是以class开头的方法,类似于oc中+开头的方法      class func createButton(imageName:String,bgImageName:String)->UIButton{       

2017-11-02 18:14:02 730

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除