自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leveldb 源码分析 —— SkipList跳表

leveldb 存取数据,都在用 MemTable 这个结构体,而 MemTable 核心在于 level::MemTable::Table,也就是 typedef SkipList<const char*, KeyComparator> level::MemTable::Table。 SkipList 看名字就知道,跳表,是一种数据结构,允许快速查询一个有序连续元素的数据链表。这是一种 “以空间换

2017-10-31 15:05:08 893 1

原创 IOS 开发笔记——如何用 collection 创建瀑布流

知道 collectionView 的读者都知道,我们在创建 collectionView 的时候,我们就要为 collectionView 添加一个布局 [[UICollectionView alloc] initWithFrame:<#(CGRect)#> collectionViewLayout:<#(nonnull UICollectionViewLayout *)#>] 在这个方法

2015-10-07 23:05:46 712

原创 IOS开发笔记 ——@dynamic 和 @synthesize 和区别

@dynamic 和 @synthesize 和区别当我们设置一个类的变量的时候,我们会考虑设置属性,也就是@property ,当我们设置玩属性后,我们要实现它的 get 和 set 方法,但是现在的编译器默认已经帮我们实现好了,也就是我们@synthesize。 @synthesize 的作用就是帮我们实现 get 和 set 方法,如下@property (nonatomic,copy) N

2015-10-04 16:42:36 695

原创 IOS 开发笔记——使用类型常量,少用预处理命令

以前我们在开发中难免要提取常量,例如学过 C 的同学们,包括我以前也会把按钮的宽度使用预处理命如: #define buttonWidth 80 这种方法来为提取。但是这样做的话会有一个缺点,那就是当我们预处理过程会把碰到的所有buttonWidth都换成80,这样的话,假设指令声明再某个头文件中,那么所有引入这个头文件的代码,其buttonWidth都会被替换。如果我们在头文件中使用#define

2015-09-26 02:42:43 473

原创 IOS 开发笔记——自定义导航栏返回键后如何恢复系统默认返回手势

在开发当中,我们不得不要将导航栏的左边返回按钮自定义成不同的样式,但是一当我们自定义样式后,系统默认的 pop 手势就失效了,那么我们该如何做呢?其实这个问题网上也有很多答案,但是每一个答案都非常坑,我都不得不吐槽一下了,老是将问题复杂化,不懂装懂,最讨厌这些人了,好了,我们继续开始:        1.自定义一个导航栏,并重写它的 ViewDidLoa()方法class CMNavg

2015-09-14 01:34:15 1193

原创 IOS 开发笔记——做日历开发的总结

做日历开发中经常要用到的一个类是NSCalendar,作者通常要用到他来获取年月日甚至是某个月有多少天这种需求,今天作者为大家讲解一个最简单的日历表,初学者都能看懂的,那么,我们开始吧在做日历之前我们要分清楚以下的几个需求: 1.分析这个月的第一天是第一周的星期几 2.分析这个月有多少天那么好了,我们一开始当然需要知道这个月的第一天是星期几才能说得上是一个月历嘛,所以我们要把星期日到星期一的

2015-08-31 20:27:13 4357

原创 IOS 开发笔记——二维码的生成和扫描

开发当中我们经常遇到二维码的生成或者说是扫描,但是苹果官方给我们准备好了这些 API,那么接下来作者为大家详细讲述一下二维码在二维码的生成中,我们要用到一个类CIFilter,这是系统的一个滤镜类,可以用来做各种的滤镜,但是个人感觉比较卡,做滤镜的话还是建议大家用 GUPImage这个第三方框架的好,因为这个框架完全是涉及 CUP 的运行,效率非常快以下这个例子是为百度网站生成一个二维码,同学们也可

2015-08-30 17:14:28 497

原创 Swift学习笔记—— 属性

定义一个属性struct FixedLengthRange{ var firstValue:Int let length:Int}// FixedLengthRange这个类里面有两个属性,一个为 firstValue:Int 为可变类型,另外一个为 length 为不可变类型// 属性赋值var rangeofThreeItems = FixedLengthRange(fi

2015-08-24 01:41:49 355

原创 Swift学习笔记—— 类和结构体

// 类和结构体的定义class SomeClass {}struct SomeStructure {}// 定义结构体和定义类struct Resolution{ var width = 0 var height = 0}class VideoMode { var resolution = Resolution() var interlaced:Bool?

2015-08-24 01:15:03 451

原创 Swift学习笔记——枚举

swift 中普通的枚举形式// 枚举形式,case关键词表明新的一行成员值将被定义enum Direction { case North case South case East case Weast}// 注意:在 swift 中,枚举的成员变量有着不同的值,他们不再是0,1,2,3 了// 多个成员值也可以出现在同一行上,但是要用逗号隔开enum Di

2015-08-23 16:21:58 355

原创 IOS——TableView 中利用Item模型进行 Cell 的开发(2)Item 模型篇

不知不觉过了这么多天了,作者真的是忙的透不过气了,新应用猪猪刚放上 APPStore,后脚转吧应用有更新大版本,累到在地了。。好了,废话不多说,给大家继续我们的 TableView利用 Item 模型开发的第2编了,相信大家都看过作者的第一篇了,第一篇主要讲父类 TableView 里面的创建,那么 Item 模型怎么创建呢当然第一步,我们要有一个父类的 Item,也就是上一篇在文章中多次出现的 B

2015-08-21 21:06:18 459

原创 Swift 学习笔记 —— 函数

Swift 中函数的基本表达式 // func + 函数名+(参数) + ->返回参数的类型func sum(#number1:Int,#number2:Int)->Int{ return number1 + number2}Swift中函数的默认参数值 // 你可以在函数体中为每个参数定义默认值。当默认值被定义后,调用这个函数时可以忽略这个参数。 // 带有默认参数值的形参,s

2015-08-16 02:14:30 420

原创 IOS——TableView 中利用Item模型进行 Cell 的开发(1)TableView 篇

在开发当中,我们遇到过最多的就是 TableView 的界面,小编可以说,基本上每个界面都是用 tableView 做开发的。那么,这么多个 TableView 做开发,遇到的一个问题就是,一直编写对 cell 的控制好麻烦,OC 是一门面向对象的语言,我们要用的是面向对象的思想去开发,MVC 模式,控制器更多的是为试图配置数据,那么如果才能达到快速的用一行代码创建一个 cell 呢,这就是作者今天

2015-08-13 01:40:14 641

原创 IOS开发笔记_AFN中多线程依赖

我们平常在开发当中很可能会遇到同时开启两个网络请求,然后把资源下载下来后进行合并操作,那么在AFN中我们究竟要怎么做呢,当然,以下可能写出一些个人的封装技巧,有兴趣的朋友可以发继续关注我。- (NSOperationQueue *)queue{    if (!_queue) {        _queue = [[NSOperationQueue alloc]init];    }

2015-08-04 21:28:47 3914

原创 转吧总结,一些零零碎碎的东西

1.webView上,返回键如果有web二级页面要返回一级页面,我们也要在返回键加以下方法- (void)back{ if ([self.webView canGoBack]) { // 判断网页是否可以后退 [self.webView goBack]; }else{ // 网页不可以后退,调用父类Pop方法 [super back]; }

2015-08-01 22:28:53 458

原创 IOS_开发技巧_定位反地理编码的一些坑

在反地理编码中,我们直接拿到了CLPlacemark来获取地理信息,但是大家有没有发现有一个坑,在定位到北京的时候,这个信息却没有按照我们所想的方式去走了,原因如下,不说了,代码 // 反地理编码 [self.coder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray

2015-08-01 22:09:56 698

原创 IOS研究成果——在autolayout 如何实现 Cell 的高度自适应

Hello,小编又来了,距离上次写博客都有一段日子了,主要是这个月一直在赶新项目,项目推了又改改了又推,需求被改无数,泪奔。。。但是在做项目的时候发现了好多小细节,等项目做完了就拿来给大家看看,好了,不再多废话了,回归我们今天的主题。其势 Autolayout 技术再 IOS6的时候就已经开始有了,但是大多数人还是习惯不了这个看起来奇特的东西,而且官方文档做到根本不是人看的,但是现在越来越多的人开始

2015-07-24 01:33:30 1496

原创 IOS开发小技巧——强大的企业级调试日志——IOS第三方库CocoaLumberjack/CocoaLumberjack(1)

CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。CocoaLumberjack类似于流行的日志框架(如log4j),但它是专为Objective-C设计的,利用了多线程、GCD(如果可用)、无锁原子操作Objective-C运行时的动态特性。快速 在大多数用例中,Lumberjack比NSLog快了一个数量级。简单 当应用程序启动时,只需一行加单的代

2015-07-13 01:53:29 1010

原创 IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中

在开发的当中,往往碰到要将数据持久化的时候用到FMDB,但是碰到模型中的属性有数组,但是FMDB存放的属性通常只为Text,那我们改怎么办呢

2015-07-08 01:30:38 8576

原创 IOS小技巧——如何使用GCD创建单例模式

CGD创建单例模式

2015-07-08 01:11:21 495

原创 IOS小技巧——如何将美工的16进制颜色转换成IOS中的RGB颜色

// 在我们实际工作中,美工给我们的UI图在是表明256位设置的UIColor,而是给我们16进制的颜色代码,例如@”#ffffff”等那么,我们该如何将这些颜色代码转换成我们需要的颜色呢?

2015-07-08 00:50:56 812

原创 IOS小技巧——如何润色一个Label, 一个label中,展现多种字体效果(图文混编 1)

IOS_平常开发遇到的小技巧 ——如何润色一个Label, 一个label中,多种字体效果

2015-07-08 00:27:35 379

空空如也

空空如也

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

TA关注的人

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