原文:http://www.cnblogs.com/LiLihongqiang/p/5727788.html
1.首先是准备好要编译的.h文件和.c文件。
2.在Xcode中建立library的工程。
3.将.h和.c文件拷贝进入项目中,并删除项目的原本代码。
4.编译项目,在product目录下会得到.a文件。
5.使用:新建一个项目,添加刚才.h文件。 然后在这个工程的Build Phases的Link Binary With Library里面添加我们刚才拷贝出来的那个.a文件。/*‘).addClass(‘pre-numbering‘).hide();$(this).addClass(‘has-numbering‘).parent().append($number...
深浅拷贝的区别: 深拷贝 拷贝 内容 浅拷贝 拷贝 地址注:当对象str1在常量区时①对不可变字符串NSString对象进行copy NSString *str1 = @"Hello"; //str1 -- 常量区NSLog(@"%p", str1);//0x100002048//copyNSString *str2 = [str1 copy];//0x100002048 str2 -- 常量区NSLog(@"%p", str2);//str2 与 str1都指向常量区,地址相同,引用计数为无穷大NSLog(@"str2 retaincount = %lu", [str2 retainCount]);<spa...
李洪强漫谈iOS开发[C语言-039]-剪刀石头布 原文:http://www.cnblogs.com/LiLihongqiang/p/5798609.html
跟线性数组和链表不同,HashTable是快速查找的数据结构。本文中的HashTable使用链表处理数组。该HashTable可以指定table的长度,提供了遍历的方法。包括table的长度的选择也比较讲究。 cp_int32 nPrime[MAX_HASH_PRIME_ARRAY_NUM] = {17, 37, 79, 163, 331, 673, 1361 };就是说table的长度来取自上面这个数组。比如用户设定了200,那么table的长度就是331,找到第一次比输入值大的数值。可以注意到上面的都是素数。
下面...
(一)、 (1)、运算符的概念及分类 运算符是告诉编译程序执行特定算术或逻辑操作的符号。 按照功能划分:算术运算符、关系运算符与逻辑运算符、按位运算符。 运算符根据参与运算的操作数的个数为: 单目运算符、双目运算、三目运算 单目运算:只有一个操作数 如:i++ ! sizeof 双目运算:有两个操作数 比如:a+b; 三目预算:C语...
#pragma mark - 数组:用来存放同一数据类型的数据// 数组的定义:类型说明符 数组名[常量表达式] = {值1, 值2, 值3...}; // 定义一个float类型的数组,用来存储班级学员的分数 float scores[5] = {89.0, 70.2, 66.0, 90.5, 77.8}; // 定义一个int类型的数组,用来存放三个人的年龄 int ages[5] = {23, 28, 19}; // 定义一个char类型的数组,用来存放iPhone char iPhone[10] = {‘i‘, ‘P‘, ‘h‘, ‘o‘, ‘n‘,...
1.继承定义 公共父类使用场景:当多个类之间存在部分相同的特征以及行为时,为了防止多个类中写重复代码,新建一个公共的父类,父类中填写多个类中相同的特征以及行为,让多个类继承即可.2.继承特点 *.继承内容:父亲全部的实力变量以及方法
*.继承过来的内容的所有权:继承过来的内容是自己的,只不过来源于父类,
*.OC中只允许单继承,也就是一个类只能有一个父类,
*.继承具有传递性.A继承自B,B继承自C,A拥有B和C的...
1. 若想检测对象的等同性,请提供“isEqual”与“hash”方法。- (BOOL)isEqual:(id)object
{if(self == object) return YES;if([self class] != [object class] ) return NO;ConcreteId *otherId = (ConcreteId*)object;if(![someProperty isEqual:otherId.someProperty])return NO;// ……… 比较其他属性值return YES;
}① 特定类所具有的等同性判定方法如果受测的参数与接收该消息的对象都属于同一类,那么就调用自己编写的判定...
关于目前比较流行的编程语言的一个情况来看,到2014年8月之前,大体上的结果是: *数据来自网络名列三甲的分别是:C,Java,Objective-C,从这个表里面可以看出,C语言在编程界还是被普遍的认为非常重要的,并且作为很多大学计算机系的必修基础科目之一,可见C语言还是非常有群众基础的.话再说回到iOS开发上来,因为苹果系统基本都是使用Objective-C(后面简称为OC)来做第一语言来使用的,但在一些深处的机制(比如运行时runtime)以及图像处理以...
一 oc基本数据类型1,id类型指向object-c对象的指针 可以指向任意的对象类型,可以将任意消息传递给id,id不支持该消息时,会返回运行时异常,"unrecognized selector send to instance xxx"消息;常用于表示类的委托属性,例:@property id<协议名> delegate;2,SEL类型,用来定义方法的关键字oc对象可以接受任何消息,但不一定能响应,通过方法:respondsToSelector()来判断对象是否能响应某个消息,保护代码,- (BOOL)respondsToSelector:(SEL...
一,初识
设计模式是为特定场景下的问题而定制的解决方案.特定的场景指问题所在重复出现的场景.问题指特定环境下你想达成的目标.定制的解决方案是指在特定环境下克服问题限制条件而达成目标的一种设计.
设计模式是经过时间证明为有效的,对特定面向对象设计问题主要方面的一种抽象,体现了面向对象的重要思想.有些设计原则影响着设计模式,而这些原则是构建可复用,可维护的面向对象应用程序的经验法则,比如”优先使用对象组合而不是类...
在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面将会罗列使用Objective-C来开发iOS的编码建议。【1】任意函数长度不得超过50行。(其实很容易就超过50行,这就要考虑代码抽取了。)【2】任意行代码不能超过80字符。(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行。)可以在Xcode中设置超过80个字符的提醒,选中“Page guide ...
1》类的创建:@interface Car:NSObject{//变量名}//方法声明@end@implementation Car//方法的实现@end2》类的继承(oc中不支持多继承,可以通过其他特性达到多继承的效果, 例如『类别』catergory 和『协议』protocol)@interface Circle:Car@end 2.1》继承后的方法调度问题:当代码发送消息的时候,调用方法时会首先去自身里面找有没有这个方法,如果没有就会去他的父类里面找,知道NSObject类里面。如果还没有就会出现错误。2.2》...
一."Black Magic":Method Swizzling 利用 Runtime 特性把一个方法的实现与另一个方法的实现进行替换,也可以用runtime的四维理解——修改Dispatch Table让一个方法的IMP对应到我们指定的IMP上去 二.实例说明:比如我们想要在APP中记录每一个ViewController的出现次数 三.实例分析:第一种思路就是在ViewController出现的一瞬间(viewDidAppear)我就用记录工具记录一条日志。1@implementation MyViewController ()2 3 - (void)vie...