- 博客(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
原创 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
原创 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关注的人