面向过程编程(面向过程编程、流行):以事件为中心,关心完成该事件的详细步骤,一步一步如何实现
面向对象编程(面向对象编程,OOP):以事物为中心,也就是参数事件的参与者,设计事物的功能,而完成事物只是事物的所有功能中的一个小功能
类:具有相同特征和相同行为的事物的抽象
类是一个抽象的概念,在生活不具体
描述一个类:通过特征(静态属性)以及行为(动态属性,动作)
对象:是类的实例,也就是类的具体表现,视具体的,生活中的万物都是对象
OC中方法的调用,采用消息发送机制
(receiver 消息) receiver :消息的接受者,类或者对象 message ,:消息也就是OC的方法
,类的定义分为两部分:
(1)类的接口部分:提供外部访问的借口,相当于使用说明书,写在. h文件中。
。以@ interface开的头,以@end结束,只有把类的接口定义内容写在开始和结束之间才有效
b。实例变量必须写在大括号之内,而且大括号只能写在实例变量
(2)类的实现部分:相当于功能的实现,写在m文件中。
。@ implementation开头@end结束,实现内容必须写在中间才有效
b。@ implementation后的人是要实现的类(需要指定要对哪一个类做实现)
打烊。h文件和类没有直接关系,文件中可以存放多个类,要类符合接口部分以及实现部分的定义格式就可以了
一般情况下,一个文件就定义一个类,而且文件的名字和类的名字一样,这样就能清晰的知道该文件中的类的名字
实例变量的可见度:
(1) @ public:公共的,在任何文件中都可以访问
(2) @protected:受保护的,有一定的访问权限,只允许在本类文件以及子类文件中访问,其他文件不可以访问
(3) @private:私有的,只允许在本类文件中访问,不可以在子类文件以及其他文件中访问
系统默认的可见度是@protected
自定义初始化
安康;(id) initWithBrand: (NSString *)品牌; 安康;(id) initWithBrand:(NSString *) brand { ,,,_brand =,品牌; ,,,return 自我; }
setter方法
安康;(void) setBrand: (NSString *)品牌; 安康;(空白)setBrand:(NSString *) brand { ,,,_brand =,品牌; }
getter方法
安康;(NSString *)品牌; 安康;(NSString *) brand { ,,,return _brand; }
(1)创建对象
。便利构造器(+号方法)
NSString * str1 =, (NSString stringWithFormat: @ % d“iPhone”, 5];
b。alloc +初始化方法
NSString * str2 =, [[NSString alloc], initWithFormat: @ % d“iPhone”, 4],
长度方法求字符串长度
NSUInteger length =, [str1 长度];
characterAtIndex:方法获取字符串中的某个字符
判断是否以指定的字符串开头(hasPrefix:方法),或者以指定的字符串结尾(hasSuffix:)
rangeOfString:方法查找指定字符串的范围
字符串截取(获取子字符串)substringFromIndex:方法和substringToIndex:方法
获取指定范围内的字符串substringWithRange:方法
字符串拼接stringByAppendingString:方法
替换字符串stringByReplacingOccurrencesOfString:方法和stringByReplacingCharactersInRange: withString:方法
字符串比较,比较:方法
字符串大小写uppercaseString方法lowercaseString方法capitalizedString方法
appendFormat:方法deleteCharactersInRange:方法insertString: atIndex:方法replaceCharactersInRange: withString:方法
arrayWithObjects:方法
计算方法
, objectAtIndex:方法
firstObject方法
lastObject方法
indexOfObject:方法
containsObject:方法
sortedArrayUsingSelector:方法
NSArray * sortArr =, (arr2 sortedArrayUsingSelector: @ selector(比较:)];
forin快速枚举
for (NSString * str  arr2拷贝),{ ,,,NSLog (@ % @,, str); }
addObject:方法
removeObjectAtIndex:方法
removeAllObjects方法
replaceObjectAtIndex: withObject:方法
exchangeObjectAtIndex: withObjectAtIndex:方法
sortUsingSelector:方法
[arr1 sortUsingSelector: @ selector(比较:)];OC总结