摘要: GitHub详细教程1Git详细教程1.1Git简介1.1.1Git是何方神圣?Git是用C语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可以是不同的文件,也可以是不同的文件内容。举个例子,你可以将文件集合转换到两天之前的状态,或者你可以在生产代码和实验性质的代码之间进行切换。文件集合往往被称作是“源代码”。在一个分布版本控制系统中,每个人都有一份完整的源代码(包括源代码所有的历史记录信息),而且可以对这个本地的数据进行操作。分布版本控制系统不需要一个集中式的代码仓库。当你对本地的源代码进行了修改,你可以标注他们 阅读全文
posted @ 2014-01-21 23:10 duger 阅读(16276) 评论(1) 推荐(0) 编辑
摘要: 报错如下:sudo gem install jekyllPassword:Building native extensions. This could take a while...ERROR: Error installing jekyll: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rbcreating Makefilemake "DESTDIR=" cleanmake & 阅读全文
posted @ 2014-03-26 20:55 duger 阅读(604) 评论(0) 推荐(0) 编辑
摘要: warning: ignoring debug info with an invalid version (0)warning: ignoring debug info with an invalid version (0)warning: ignoring debug info with an invalid version (0)warning: ignoring debug info with an invalid version (0)warning: ignoring debug info with an invalid version (0)warning: ignoring de 阅读全文
posted @ 2014-03-25 11:49 duger 阅读(1295) 评论(0) 推荐(0) 编辑
摘要: 概述:首先得描述一下各个证书的定位,作用,这样在制作的时候心中有谱,对整个流程的把握也会准确一些;1、Certificate开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution)这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是... 阅读全文
posted @ 2014-01-19 21:12 duger 阅读(10775) 评论(0) 推荐(1) 编辑
摘要: nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表示的都是空值,但使用的场合完全不同。示例如下:idobject=nil;//判断对象不为空if(object){}//判断对象为空if(object==nil){}//数组初始化,空值结束NSArray*array=[[NSArrayalloc]initWithObjects:@"First",@"Se 阅读全文
posted @ 2014-01-19 11:51 duger 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 从开始从事OC工作到现在大概1年多了,从当初接触oc的"协议"的不明白,到现在代码中随处可见的委托,协议,其中感悟颇多。首先,大家应该都明白的是委托是协议的一种,顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。其次,我简单的总结了一下自己用到的委托的作用有两个,一个是传值,一个是传事件。1.所谓传值经常用在b类要把自己的一个数据或者对象传给a类,让a类去展示或者处理。(切分紧耦合,和代码分块的时候经常用)2.所谓传事件就是a类发生了什么事,把这件事告诉关注自己的人,也就是委托的对象,由委 阅读全文
posted @ 2013-09-11 20:24 duger 阅读(833) 评论(0) 推荐(0) 编辑
摘要: NSDictionary*myDictionary =[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"A",@"2",@"B", nil];NSInteger count =[myDictionary count];id objects[count];id keys[count];[myDictionary getObjects:objects andKeys:keys];for(int i =0; i %@", obj, key);}还有一个:NSDi 阅读全文
posted @ 2013-09-09 15:20 duger 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 网上看到一篇文章,分析initWithString和initWithFormat的区别,用一下他的用例。下面是测试代码:NSString* str =[[NSStringalloc]initWithString:@"this is from initWithString function"];NSLog(@"this is from [[NSString alloc] initWithString] m_addr is %ld retainCount is %i", str, [strretainCount]);[strrelease];[strrele 阅读全文
posted @ 2013-09-06 14:02 duger 阅读(1375) 评论(0) 推荐(0) 编辑
摘要: Mac OS X 内置Apache 和 PHP,使用起来非常方便。本文以Mac OS X 10.6.3和10.8.1为例。主要内容包括:启动Apache有两种方法:打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”。注意,从Mac OS X从10.8开始取消了 “Web共享(Web Sharing)”。打开“终端(terminal)”,然后(注意,sudo需要的密码就是系统的root帐号密码)运行“sudo apachectl start”,再输入帐号密码,这样Apache就运行了。运行“s 阅读全文
posted @ 2013-08-29 13:44 duger 阅读(523) 评论(0) 推荐(0) 编辑
摘要: realloc 用过很多次了。无非就是将已经存在的一块内存扩大。char* p = malloc(1024);char* q = realloc(p,2048);现在的问题是我们应该如何处理指针 p。刚开始按照我最直观的理解,如果就是直接将 p = NULL;。 到最后只需要释放 q的空间就可以了。因为最近在做个封装。结果在做单元测试的时候发现。有时候我在 free(q); 的时候会出错。这样我就郁闷了。后来仔细一跟踪,发现 realloc 完以后 q 和 p 的指针地址是一样。不过有时候又不一样。仔细查了下资料。得到如下信息: 1.如果 当前连续内存块足够 realloc 的话,只是将p所指 阅读全文
posted @ 2013-08-29 13:40 duger 阅读(5003) 评论(0) 推荐(0) 编辑