黑马程序员-OC学习笔记-----Foundation框架(常用结构体和NSString)

来源:互联网 发布:java ssh2默认端口 编辑:程序博客网 时间:2024/05/17 04:57

常用的结构体

表示范围的结构体 NSRange

typedef struct  _NSRange

{

    unsigned int location;

    unsigned int length;

} NSRange;

这个结构体主要用来表示事物的范围,一般常用于字符串里面字符的范围。


表示几何数据类型的结构体 CGPoint(NSPoint)  CGSize(NSSize)  CGRect(NSRect)

CGPoint 是表示平面的坐标。结构体如下:

Struct CGPoint

{

     float x;

     float y;

}

CGSize用来表示长度和昆都

Struct CGSize

{

     float width;

     float heigh;

}

CGRect是CGPoint 和CGSize的复合既有坐标又有宽高

Struct CGSize

{

     CGPoint origin;

     CGSize size;

}

这些结构体,库提供了创建这些数据类型的快捷函数:CGPointMake()、CGSizeMake()、CGRectMake()。这样我们能够很方便的创建相应的数据类型。


字符串类

NSString是用来处理字符串的类

创建字符串

NSString *p =@"this is a string";

字符串大小的对象方法

-(NSUInterger)length; //此方法返回的是字串的字符个数而不是字节数

用法:

NSUInteger length = [p length]; //获取了字符串p的长度


字符串的比较方法

判断两个字符串是否相等

-(BOOL)isEqualToString: (NSString *) aString;

比较两个字符串

-(NSComparisonResult) compare: (NSString *) aString;

注NSComparisonResult是一个枚举类型

enum

{

      NSOrderedAscending = -1,

      NSOrderedSame,

      NSOrderedDesending

};

不区分大小写的比较

-(NSComparisonResult) compare: (NSString *) aString option: (NSCompareOptions) mask;

后面的参数常用选项如下:

NSCaseInsensitiveSearch

不区分大小写的比较

NSLiteralSearch : 进行完全的比较,区分大小写

NSNumericSearch : 比较字符串的字符个数

例子:

[string1 compare: string2 options:NSCaseInsensitiveSearch | NSLiteralSearch]

包含字符串

-(NSRange) rangeOfString: (NSString *) aString;


可变字符串NSMutableString

NSMutableString是NSString的一个子类,他拥有父类的所有。

可变字符串的一些方法:

-(void) appendString: (NSString *) aString;  //在字符串后增加字符

-(void) appendFormat: (NSString *) format,...; //在格式化后的字符串追到元字符串的后面

-(void) deleteCharactersIntersInRange: (NSRange) arange; //删除某范围的字符串
0 0
原创粉丝点击