经过前一段时间C语言 的学习,从这周开始正式步入OC的学习
OC中类的定义:同一类事物的抽象,对象则与之相反,是抽象的类的具体化。
OC中定义属性字段时通常在元素前面加上_如
NSString * _name; int _age; BOOL _sex;
未经声明的变量一般为受保护的变量,无法被外界访问,在OC中存在如下三种修饰符
默认为被保护的(protected: 意味着只能够本类或者子类可以访问)
私有的(private: 只能够本类访问)
共有的(public: 所有的类都能够访问)
在某一修饰符后面定义的变量即具有对应的属性。
OC中的构造方法一般以init开头,一般返回id类型(id类型是万能的对象类型),一般初始化的时候命名初始化方法(构造方法)为
-(id)initWithName:(NSString *)name andAge:(int)age
实现的时候一般为
-(id)initWithName:(NSString *)name andAge:(int)age{ self = [super init]; if (self) { self.name = name; self.age = age; } return self; }
OC中同样和java和C#一样有与元素对应的get和set方法,但是在OC中我们使用成员变量名(不要下划线)为方法命名,这对我们调用方法提供了一种简便的理解方式。例子如下:
-(void)setName:(NSString *)name; -(NSString *)name; -(void)setAge:(int)age; -(int)age;
OC中将类的方法分为类方法和对象方法,类方法在定义时以+开头,对象方法以-开头。对象方法必须在用声明的对象使用,类方法可以由类直接使用
NSString类:
NSString 类类似于C语言中的char *类型。但是它变得更灵活了
NSString声明和初始化:
NSString * str = @"123456989834348";
学习NSString主要是对其几个方法的灵活使用
例子如下
1.返回字符串的长度 NSUInteger len = [str length]; 2.返回单个字符 unichar c = [str characterAtIndex:3]; 3.比较两个字符串的大小关系 BOOL ret = [str1 isEqualToString:str2]; NSComparisonResult ret2 = [str1 compare:str2]; 4.查找子串的位置和范围 NSRange range = [str rangeOfString:@"粉刷"]; 5.子串的提取 NSString * subStr1 = [str substringToIndex:5]; NSString * subStr2 = [str substringFromIndex:5]; NSString * subStr3 = [str substringWithRange:range];
从NSString延伸到可变的字符串NSMutableString,NSMutableString 继承自 NSString,它拥有NSString的所有方法,并且增加了自己特有的方法。如下
:
1.重置字符串内容 [str setString:@"0123456789"]; 2.增 append insert [str appendString:@"9876543210"]; [str appendFormat:@"%d %c %.2f", 34, ‘T‘, 2.34]; [str insertString:@"ABC" atIndex:3]; 3.删 delete [str deleteCharactersInRange:range]; 4.改 replace [str replaceCharactersInRange:range withString:@"XXXXXXXXXXXXXXX"]; 5.查 rangeOfString:
原文:http://www.cnblogs.com/zhendiao/p/4693108.html