Foundation框架基础知识
2015-06-11 20:39
405 查看
1.常用数据类型:
(1).NSRrange 创建范围结构体
结构体:
typedef struct _NSRange{ NSUInteger location; NSUInteger length; }NSRange;
NSMakeRange函数:
NS_INLINE NSRange NSMakeRange(NSUIteger loc,NSUInteger len){ NSRange r; r.location = loc; r.length; return r; }#实例演示: //NSRange类型的变量的创建方法。 //1.直接创建变量,然后根据结构体成员访问语法,分别每一个成员赋值 NSRange range; range.location = 2; range.length = 3; 输出: NSLog(@"%lud,%lud",range.location,range.length); //2.使用结构初始化语法,给变量赋值 NSRange rangInit = {2,3}; 输出: NSLog(@"%lud,%lud",rangeInit.location,rangeInit.length); //3.使用Cocoa提供的函数来创建变量的值 NSRange rangeCocoa = NSMakeRange(2,3); NSLog(@"%lud,%lud",rangeCocoa.location,rangeCocoa.length);
NSPoint :代表笛卡尔平面的坐标点(x,y)
结构体:
struct CGPoint{ CGFloat x; CGFloat y; }NSPoint; NSMakePoit函数: NS_INLINE NSPoint NSMakePoint(CGFloat x,CGFloat y){ NSPoint p; p.x = x; p.y = y; return p; } CGPointMake函数: CGPointMake(CGFloat x,CGFloat y){ CGPoint p; p.x = x; p.y = y; return p; } 实例演示: //NSPoint主要是表示位置 //1.直接创建变量,然后根据结构体成员访问语法,分别给每一个成员赋值 NSPoint p; p.x = 21; p.y = 23; //2.快速的创建点 NSPoint p = NSMakePoint(12,13); //3.用CGPointMake创建点 NSPoint p; p = CGPointMake(34,43);
NSSize :用来存储长度和宽度
结构体:
typedef struct _NSPoint{ float width; float heigh; }NSSIze;
NSRect :由点和大小复合而成的矩形数据类型
结构体:
typedef struct _NSRect{ NSPoint origin; NSSize size; }NSRect; ``` ####NSRect类型的变量的创建方法 ``` //1.直接创建变量 NSRect rect; NSPoint Origin = {33.0f,44,0f}; rect.origin = Origin;//给rect传递NSPoint类型值 NSSize size = {22.2f,33.3f}; rect.size = size;//给rect传NSSize类型值 //2.使用结构体初始化语法 NSRect rect = {22.2f,33.3f,45.4f,45,23f}; //3.使用cocoa提供的函数来创建变量的值 NSRect rectWithFun = NSMakeRect(22.2f,33.3f,45.4f,45,23f});
cocoa为这些数据类型创建了快捷函数
1 >NSMakePoint()
2 >NSMakeSize()
3 >NSMakeRect()
2.字符串:NSString NSMutableString的常见操作
NSString类:
1.创建字符串对象
NSString *str = @"hello world!”;//创建字符串常量 //创建一个空的字符串 NSString *str = [ [NSString alloc] init]; NSString *str = [NSString string]; //使用已有字符串来创建一个新的字符串对象 NSString *str1 = [[NSString alloc] initWithString:str]; NSString *str1 = [[NSString alloc] stringWithString:str]; //用格式化字符串初始化字符串对象 NSString *str2= [[NSString alloc] initWithFormat:@"%@, %i,%s",str,10,"abcd"]; NSString *str2= [[NSString alloc] stringWithFormat:@"%@, %i,%s”,str,10,"abcd"];
2,字符串的转化
//把c字符串转化为oc字符串对象 char *cstr = "hello qingyun"; NSString *str3 = [[NSString alloc]initWithCString:cstrencoding:NSUTF8StringEncoding]; 或者 NSString *str3 = [[NSString alloc] initWithUTF8String:cstr ]; //把oc字符串转化为c字符串 NSString *str = @"hello world!"; const char *cstr = [str UTF8String]; 或者 const char *cstr = [str cStringUsingEncoding:NSUTF8StringEncoding]; //把数字串转化为相应的数据类型 str = @"1234"; int a = [str intValue]; [str floatValue]//转化成float型 [str doubleValue]//转化成double型
3,NSString常用的方法
NSLog(@"%ld",[str length]);//求字符串的长度 NSLog(@"%c",[str characterAtIndex:?]);//?代表下标,注意不要越界。获取字符串中得字符 NSLog(@"%@",[str substringToIndex:n]);//获取指定长度的字符串,是从头开始截取到n-1下标的内容 NSLog(@"%@",[str substringFromIndex:n]);//从指定位置开始向后截取字符串,一直到结束 NSRange range = {4,4};//结构体初始化,其中第一个4指的位置,后一个是长度 NSLog(@"%@",str substringWithRange:range);//获取指定范围内的字符串, //查找子串,找不到返回NSNotFound,找到返回loctation和length NSRange range = [str rangeOfString:@“hello"]; if(range.location != NSNotFound) { NSLog(@"%ld %ld",range.location,range.length); } NSString *str1 = [str substringWithRange:NSMakeRange(4,4)]; //NSMakeRange可以生成结构体 NSString *str = @“www.itcast.com"; BOOL ret = [str hasPrefix:@"www"];//判断字符串是否以指定字符串开头 NSString *str = @“www.itcast.com"; BOOL ret`这里写代码片` = [str hasSuffix:@“.com"];//判断字符串是否以指定的字符串结尾 BOOL ret = [str1 isEqualTo:str2];//比较两个字符串是否相等,相等返回YES,不等返回NO //两个字符串比较大小,str1大 返回1,相等返回0, 小于返回-1 NSComparisonResult result = [str1 compare:str2]; //不区分大小写比较大小 NSComparisonResult result = [str1 caseInsensitiveCompare:str2]; NSLog(@"%@",[str uppercaseString]);//将字符串中得所有小写字母转化为大写字符,不改变原来的字符串 NSLog(@"%@",[str lowercaseString]);//将字符串中得所有大写字母转化为小写字符,不改变原来的字符串 NSLog(@"%@",[str capitalizeString]);//将字符串中出现的第一个字母转化为大写,其余字母小写
二.NSMutableString类
提示:NSMutabaleString是可变字符串(动态增加或者减少),继承于NSString,可以使用NSString的所有方法。 1.初始化字符串 //将不可变的字符串转换为可变的字符串 NSMutableSting *str =[ [NSMutableString alloc] initWithString:@"hello"]; //容量只是一个参考值 NSMutableSting *str =[ [NSMutableString alloc] initWithCapacity:10]; 2.常用方法 [str insertString:@"123" atIndex:1];//在指定下标(不要越界)位置插入NSString类型字符串 [str appendString:@“123"];//在字符串末尾追加字符串 [str appendFormat:@"%@, oc语言, %i”,@"正在学习",1];//在字符串末尾,格式化追加字符串 [str deleteCharactersInRange:NSMakeRange(0,2)];//从指定下标删除length个字符 [str setString:@"itcast"];//修改字符串亦称对该可变字符串赋值 [str replaceCharactersInRange:NSMakeRange(3,1) withString:@"ios"]; //将指定下标位置的length个字符替换为指定的字符串
相关文章推荐
- Notes on Matrix Calculus
- Python 得到Twitter所有用户friends和followers
- 汇编指令简介
- java import的机制
- java中wait/notify机制
- T-SQL:zz检查文件夹下的文件大小
- 有户口的公司
- strcpy_s与strcpy对照
- Sobel边缘检测和边缘细化
- Android用观察者模式代替广播通知刷新界面
- 【BZOJ4008】【HNOI2015】亚瑟王 概率DP
- 2015年华为校招机试题和代码实现(分解字符串,拼音转数字,去除重复字符并排序,等式变换)
- riot.js学习【二】mixin
- 'strcpy': This function or variable may be unsafe
- communication architecture design
- Android---Activity 生命周期(一)start Activity && destroy Activity
- Spring技术内幕——Spring的设计理念和整体架构
- 进阶的Hibernate
- FLASH驱动之-块设备驱动系统构架
- MySQL第五个学习笔记 该数据表的操作