自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 block

这是唐巧对于block的介绍:http://blog.devtang.com/2013/07/28/a-look-inside-blocks/ block跟似乎C语言的函数指针是一样的,但是两者仍然存在以下区别: block的代码是内联的,效率高于函数调用block对于外部变量默认是只读属性block被Objective-C看成是对象处理    循环引用 block

2017-01-10 09:36:20 356

原创 SDWebImage原理

在网上搜到一张SDWebImage原理思路图,如下:

2017-01-09 11:04:51 348

原创 NSURLSession

POST和GET的区别就在于request,所以使用session的POST请求和GET过程是一样的,区别就在于对request的处理. NSURLSessionConfiguration 简单地说,就是session的配置信息.如: NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaul

2017-01-06 10:38:17 307

原创 tableView

iOS8 , 自动计算Cell高度 // 告诉tableView的真实高度是自动计算的,根据你的约束来计算 self.tableView.rowHeight = UITableViewAutomaticDimension; // 告诉tableView所有cell的估计行高 self.tableView.estimatedRowHeight = 44

2017-01-06 10:29:57 632

原创 FMDB

FMDB是iOS平台的SQLite数据库框架。FMDB以OC的方式封装了SQLite的C语言API 项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。 在 FMDB 中有三个重要的类: FMDatabase:是一个提供 SQLite 数据库的类,用于执行 SQL 语句。 FMResultSet:用在 FMDatabase 中执

2017-01-06 10:26:36 406

原创 电子科大杨宁TCPIP协议原理(总结)

本博文总结于电子科大杨宁TCPIP协议原理。视频地址:http://v.ku6.com/playlist/index_1735229.html 。反正我没看完,以下是我的总结。 第一章 1.1协议和标准 协议:一组控制数据通信的规划。 三要素:语法syntax、语义semantics、同步Timing (what、how、when) 标准(standard):一致同意的规划。

2016-12-10 14:47:04 3344

原创 传输控件协议TCP

本篇博文总结于《计算机网络》。 特点: 面向连接的运输层协议;可靠交付;提供全双工通信;面向字节流。 TCP连接的端点叫做套接字(socket) socket = (IP地址:端口号 ) TCP报文段的首部格式  TCP可靠传输的实现 滑动窗口,以字节为单位; 超时重传时间的选择; 选择确认SACK; TCP的流量控制 利用

2016-12-10 14:37:54 480

原创 用户数据报协议UDP

本篇博文总结于《计算机网络》。 概述:UDP只在IP的数据报服务之上增加了很少一点的功能,就是复用和公用的功能以及差错检测的功能。 特点:无连接;尽最大努力付,不保证可靠交付;面向报文。 首部格式:由四个字段组成,每个字段的长度都是两个字节。 源端口:源端口号。在需要对方回信时选用,不需要时可用全0;目的端口:目的端口号。这在终点交付报文时必须要使用到。长度:UDP用户数据报的

2016-12-03 13:39:11 1475

原创 加密算法

http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth 2.0 一、RSA 1、随机两个不相等的质数p和q; 2、欧拉函数: φ(n) = (p-1)(q-1); 3、随机选择一个整数e,条件是1 4、计算e对于φ(n)的模反元素d,"模反元素"就是指有一个整数d,可以使得ed被φ(n)除的余数为1 ed - 1

2016-09-30 15:40:06 283

原创 Git使用

一、github 1、在终端获取ssh ssh-keygen -C 'your@email.address' -t rss 前往文件夹,用记事本拷贝 2、登录github,进入setting,点击左边的SSH keys,粘贴SSH key,然后ADD key。 验证是否成功,$ ssh -T git@github.com 3、设置用户信息 $ git config --global

2016-09-30 15:38:34 253

原创 控件篇

textFrild placeholder颜色 [self.pwd setValue:[UIColor colorWithWhite:1 alpha:.5] forKeyPath:@"_placeholderLabel.textColor"]; 空字符不可点击 enablesReturnKeyAutomatically   label 行距 NSMutab

2016-09-30 14:48:10 352

原创 设计模式

MVP 把viewController 当成view,负责UI布局,而Presenter负责更新View的数据和状态。 优点:测试性强,使而测试大多数业务逻辑变得简单。任务均摊,最主要的任务划分到Presenter和Model,而view的功能较少。 缺点:代码量是MVC模式的2倍。 MVVM: 利用双向绑定技术,使得Model变化时,ViewModel会自

2016-09-30 14:36:19 234

原创 巧招大杂会

ARC与MRC互转 ARC项目添加MRC标记(-fno-objc-arc) MRC项目添加ARC标记(-fobjc-arc) 获取UUID NSString *idfv = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 宏定义:区分设备与模拟器 #if TARGET_

2016-09-30 14:27:49 421

原创 CAAnimation 总结

核心动画中所有类都遵守CAMediaTiming协议。 CAAnaimation是个抽象类,不具备动画效果,必须用它的子类才有动画效果。 CAAnimationGroup和CATransition才有动画效果,CAAnimationGroup是个动画组,可以同时进行缩放,旋转(同时进行多个动画)。 CATransition是转场动画,界面之间跳转(切换)都可以用转场动画。

2016-09-30 14:20:23 497

原创 线程

串行                                      并行                             主队列                      全局队列 同步     主线程、阻塞                          主线程、阻塞                    死锁                     主线程、阻塞

2016-09-30 14:15:04 323

原创 RunLoop

最近学习到一位技术大牛的关于RunLoop的知识(博客地址:http://blog.ibireme.com/2015/05/18/runloop/ ),做了以下总结: RunLoop 的概念 function loop() { initialize(); do { var message = get_next_message(); pro

2016-09-30 14:08:40 221

原创 Runtime

typedef struct objc_ivar *Ivar; struct objc_ivar { char *ivar_name OBJC2_UNAVAILABLE; // 变量名 char *ivar_type OBJC2_UNAVAILABLE; // 变量类型

2016-09-30 11:20:09 322

转载 调用系统打电话发短信接口以及程序内发短信

一、调用系统功能 在iOS中打开系统本身的打电话和发短信功能还是比较简单的,之前在SSO中也提了一嘴,iOS中可以由一个应用打开另一个应用,只需要一行代码,打电话,发短信,发email,开网页也是一样的 ,只是用的协议不一样。 1.打电话 这个还是比较简单的,下面是打电话的代码:%@的内容是手机号self.myApplication是Application的单例。

2016-06-21 15:14:03 1824

转载 Xcode添加静态库以及编译选项配置常见问题

一,Xcode编译出现Link错误,出现"duplicate symbols for architecture i386 clang"提示. 问题:链接时,项目有重名文件. 解决: 根据错误提示,做如下检查: 1.Taraget->Build Settings->Link Binary With Libraries检查是否有重复lib. 2.全工程搜索下重名文件,决定如何删除. 二

2016-05-23 22:43:54 1373

转载 iOS获取设备信息总结

1、获取设备的信息 [objc] view plain copy   UIDevice *device = [[UIDevice alloc] int];   NSString *name = device.name;       //获取设备所有者的名称   NSString *model = device.name;      //获取设备的类

2016-04-14 10:42:46 496

转载 CoreAnimation动画入门(总结)

一.动画的基础分类 1.png 上述我们可以看到动画大体可以分为如下几类: 属性 说明 CAAnaimation 抽象类,不具备动画效果,必须用它的子类才有动画效果 CAAnimaitionGroup 动画组,可以同时进行缩放,旋转 CAPropertyAnimation 抽象类,本身不具备动画效果,只有子类才有 CABasicAnim

2016-03-30 11:57:34 421

转载 iOSCoreAnimation动画系列教程(二):CAKeyFrameAnimation

在上一篇专题文章【原】iOSCoreAnimation动画系列教程(一):CABasicAnimation【包会】中我们学习了iOS核心动画CoreAnimation中CABasicAnimation动画的使用方法。CABasicAnimation已经可以应付一些比较简单的应用场景了,比如view的平移出现、淡入淡出等。但是在有些情况下直线的运动并不能满足我们的需要,因此有必要学习进阶版的核心动画

2016-03-30 11:46:43 260

转载 iOSCoreAnimation动画系列教程(一):CABasicAnimation

在iOS中,图形可分为以下几个层次: 越上层,封装程度越高,动画实现越简洁越简单,但是自由度越低;反之亦然。本文着重介绍Core Animation层的基本动画实现方案。 在iOS中,展示动画可以类比于显示生活中的“拍电影”。拍电影有三大要素:演员+剧本+开拍,概念类比如下: 演员--->CALayer,规定电影的主角是谁 剧本--->CAAnimation,规定电影该怎

2016-03-30 11:36:22 309

转载 将项目设置为MRC

在 xcode 中,设置 ARC 与 MRC 的地方: 选中  Target,  在 Objective C language 地方,将 ARC 设为 YES 或 NO。 这是一个总开关。  如有特别的文件, 可以单独加上开关。    如何在未使用arc的工程中引入一个使用了arc特性的文件: 选中工程->TARGETS->相

2016-03-15 21:00:20 516

转载 NSPredicate

简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。 定义(最常用到的方法): [cpp] view plain copy NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...];  

2016-03-15 09:40:25 202

转载 二维码自定义扫描界面

本次内容的效果图 .h文件 #import "RootViewController.h" @interface SQCodeViewController : RootViewController//继承根视图,主要继承根视图的导航控制器 @end .m文件 #import "

2016-03-11 10:17:05 999

转载 扫描二维码

#import "BZViewController.h" #import @interface BZViewController ()AVCaptureMetadataOutputObjectsDelegate> @property (strong,nonatomic)AVCaptureDevice *device; @property (strong,nona

2016-03-11 10:16:39 510

转载 生成二维码

1、通过字符串生成CIImage(首先是二维码的生成,使用CIFilter很简单,直接传入生成二维码的字符串即可:) - (CIImage *)createQRForString:(NSString *)qrString {     NSData *stringData = [qrString dataUsingEncoding:NSUTF8StringEncodin

2016-03-11 10:15:39 577

原创 iOS 掌握知识点

一、基础知识点 1、内存管理 2、category 3、protocol 4、block 5、KVC/KVO 二、核心技术 1、字母索引 (百度云demo) 2、地图 (百度云demo) 3、音频 4、蓝牙 5、动画 6、数据存储 7、多线程 8、相机 9、coreImage 滤镜处理 三、实用第三方 1、上下拉刷新 (百度云demo) 2、FMDB (

2016-03-10 18:18:03 332

原创 cocoaPods 安装与使用

1. 更新ruby 终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得) gem sources --remove https://rubygems.org/  gem sources -a https://ruby.taobao.org/  gem sources -l  (用来检查使用替换镜像位置成功 2、下载安装CocoaPods 终端输入:sudo gem in

2016-03-10 17:26:20 357

转载 项目的完整重命名方法图文教程

前言:在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种方法,是我自己参考了很多资料得出的总结。 为什么说是完整呢?因为改名之后,你不会再看到任何有关于之前的项目名字。 本文会把一

2016-03-10 17:25:42 2487

原创 iOS9请求https问题

iOS9 开始苹果将HTTP全改为HTTPS了,所以出现网络请求失败问题,解决办法: 1、改回HTTP:     在info.plist文件中添加一个Key:NSAppTransportSecurity(字典类型),然后给它添加一个Key:NSAllowsArbitraryLoads(Boolean型),属性值设为YES.如下图:

2016-03-10 17:23:23 695

转载 文件操作(NSFileManager)

iOS的沙盒机制,应用只能访问自己应用目录下的文件。iOS不像android,没有SD卡概念,不能直接访问图像、视频等内容。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。               上面的完整路

2016-03-10 17:22:34 248

转载 创建Pch预编译文件

在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问。是一个预编译文件。           首先说一下pch的作用: 1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部的头文件(整个项目中都用

2016-03-10 17:20:54 371

转载 sizeThatFits and sizeToFit是UIView的两个方法

- (CGSize)sizeThatFits:(CGSize)size; 作用:return 'best' size to fit given size. does not actually resize view. Default is return existing view size - (void)sizeToFit; 作用: calls sizeThatF

2016-03-10 17:19:47 330

转载 Emoji 表情

开发表情键盘的思路         为了实现跨平台,无论iOS端,andorid端,都要有一个相同的标准,这个标准就可以是国际Unicode编码,我们的思路是将表情文字进行unicode编码后再进行传输,因此,有两中方式,一种是通过自定义一套表情切图,将其与unicode码一一对应,在转码的时候,我们一一遍历,转换成unicode后进行传输,这样的好处是我们可以保证所有平台所能使用的表情

2016-02-23 20:10:06 671

转载 AFMWorking 网络监听

//网络状态        typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {         AFNetworkReachabilityStatusUnknown          = -1,//未识别的网络         AFNetworkReachabilityStatusNotReachable     =

2016-02-23 15:40:41 303

转载 判断文本是否有Emoji表情

@implementation NSString (Emoji) + (BOOL)stringContainsEmoji:(NSString *)string { __block BOOL returnValue = NO; [string enumerateSubstringsInRange:NSMakeRange(0, [string length]) optio

2016-02-21 14:23:48 389

转载 8.0系统 UISearchController 使用

UISearchController实现搜索 UISeachBar通过UISearchDisplayDelegate实现上面的效果是没有问题的,网上也有很多类似的实现效果,不过是警告的,信息如下: 'searchDisplayController' is deprecated: first deprecated in iOS 8.0,这么明显一个警告总不能视而不见吧 , 在 StackOve

2016-02-03 17:26:59 395

空空如也

空空如也

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

TA关注的人

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