自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 本地推送通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // 1. 注册本地推送通知        // 1.1 注册本地推送通知的设置    /*     UIUserNotific

2016-08-09 23:30:34 449

转载 Runtime(运行时)

基本解释Runtime 是一套比较底层的纯C语言API 它是OC的幕后工作者 我们平时写的OC代码在运行时都会编译器转为runtime的C语言代码 其中最主要的是消息机制OC的函数调用成为消息发送 属于动态调用过程 在编译的时候并不能决定真正调用哪个函数事实证明在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要申明过就不会报错而C语言在编译

2016-08-06 23:57:31 330

原创 SDK API IDE专业术语解释

API文档Application Programming Interface(应用程序接口)   reference 参考文档Documentation  程序说明书SDK (Software 软件 Development 开发 Kit)软件开发包IDE 集成开发环境(integrated development environment)软件中的意思IDE 电子集成

2016-08-04 00:10:57 533

原创 地理编码和反地理编码

//地理编码    __weak typeof(self) weakself =self;       // 1. 创建地理编码对象    CLGeocoder*coder = [CLGeocodernew];       // 2. 准备参数    NSString*address = self.addressTextField.tex

2016-08-04 00:09:12 1060

转载 自动释放池

当 您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。 1>. Objective-C 是 通过一种"referringcounting"(引用计数)的方式来管理内存的, 对象在开始分配内

2016-07-23 01:27:53 251

原创 什么是响应者链

响应者链条是由多个响应者对象连接起来的链条,其中响应者对象是能处理事件的对象,所有的View和ViewController都是响应者对象,利用响应者链条能让多个控件处理同一个触摸事件.事件响应链。包括点击事件,画面刷新事件等。在视图栈内从上至下,或者从下之上传播. 可以说点事件的分发,传递以及处理。具体可以去看下touch事件这块。简单的说,  在iOS中不是任何对象都能处理事件,只有继承

2016-07-22 00:09:11 1285

转载 SDWebImage的相关

SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能。它具有以下功能:提供UIImageView的一个分类,以支持网络图片的加载与缓存管理一个异步的图片加载器一个异步的内存+磁盘图片缓存支持GIF图片支持WebP图片后台图片解压缩处理确保同一个URL的图片不被下载多次确保虚假的URL不会被反复加载

2016-07-19 00:10:21 324

原创 核心动画Core Animation

Core Animation中可以直接使用的类有基本动画、帧动画、组动画、以及转场动画。所有动画作用在CALayer上的,而非UIView,而且动画执行都是在后台操作的,不会阻塞主线程。使用分为四个步骤:创建动画对象,设置动画属性,把动画添加到某个CALayer对象上,停止动画时可以调用remove移除动画。核心动画一般与触摸事件结合使用,通过监听触摸事件,一般涉及一定的算法,进而使layer

2016-07-16 23:27:53 315

转载 Socket

Socket的相关概念:网络通信也称为socket通信, socket通常称为”套接字”, 用于描述IP地址和端口, 可以实现不同虚拟机和计算机之间的通信. 应用程序可通过socket向网络发出请求或者应答请求.而对于网络连接来说, socket(套接字)是平等的, 不会因为在服务器端或者客户端产生不同级别.Socket实质:提供了进程通信的端点。进程通信之前,双方首先必须各自创建

2016-07-15 22:48:10 305

原创 浅谈block

block跟swift中的闭包(closure)比较:基本一样,都常用于值的回调,特别是在多线程的网络请求回调中,使用起来极为方便。Block格式:block的开头是“^”,接着是由小括号所包起来的参数列,行为主体由大括号包起来。block有四种类型,分别是无参无返回、无参有返回、有参有返回、以及有参无返回,而一般使用的block都是有参block,因为使用block主要就是进行参数的

2016-07-14 21:54:23 496

原创 RunLoop

每个线程有一个消息循环 —> 消息循环监听着输入事件—> 事件有两种类型 输入源和定时源  —> 将创建好的输入源以确定的模式加入消息循环中 —> 由于子线程消息循环默认不开启, 所以线程中无法监听到是否有方法需要其执行,就会销毁,导致方法执行不到 —> 需要开启子线程的消息循环 —> 三种开启方法, run开启了无法关闭, runUntilDate虽然开启了确定的时间也不靠谱 , 苹果提供了判断

2016-07-13 23:38:01 258

原创 常见的出现内存循环引用的场景有哪些?

•  定时器(NSTimer):NSTimer经常会被作为某个类的成员变量,而NSTimer初始化时要指定self为target,容易造成循环引用(self->timer->self)。 另外,若timer一直处于validate的状态,则其引用计数将始终大于0,因此在不再使用定时器以后,应该先调用invalidate方法, 说白了就是一定要移除定时器.•  block的使用:    

2016-07-13 23:34:44 773

原创 Simulator进行模拟定位

在项目中如果想要去进行定位服务,如果进行真机调试也不是很方便,我们可以利用simulator去模拟环游天朝了,具体步骤如下:1.找到simulator的debug2.然后修改经纬度3.苹果提供了定位框架#import 一下是代码块:- (void)locate{        //判断版本    self.lo

2016-07-11 22:53:42 1058

转载 Mansory设置控件时的约束问题

在Mansory去确定控件的位置的时候,如果控件太多,容易出现约束冲突 或者无效 这个时候会在xCode的中提示如下:在这里推荐几个网站:http://stackoverflow.com/questions/26389273/how-to-trap-on-uiviewalertforunsatisfiableconstraintshttp://staxmanade.com/2015

2016-07-10 23:30:25 1049

原创 cocoaPods的安装

在我们的项目开发中,经常要集成第三方框架,要用到cocoPods的使用,下面简略介绍下cocoPods的安装和使用安装:1.查看源   gem sources -l2.设置源   sudo gem sources -a https://ruby.taobao.org3.删除源   sudo gem sources -r https://rubygems.org/4.安装Coco

2016-07-10 23:03:50 242

转载 模糊搜索

模糊搜索在许多APP中都有应用到,在这里特意整理了下思路.在模糊搜索里,涉及到拼音和英文的搜索......以下是核心代码://拼音-(NSString*)transformToPinyin{    NSMutableString *mutableString=[NSMutableString stringWithString:self];    CFStringTransform((CFM

2016-07-08 23:04:47 484

空空如也

空空如也

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

TA关注的人

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