常用的结构体
表示范围的结构体 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; //删除某范围的字符串