Foundation Framework基础类
来源:互联网 发布:女性就业歧视知乎 编辑:程序博客网 时间:2024/06/06 05:40
NSObject类
常用数据类型:字符串、集合、各种数值
有用的数据类型:范围结构体、几何数据类型
范围结构体:
NSRange:
表示相关事物的范围:包括字符串的字符范围、数组的元素范围。
location字段:存放该范围的起始位置,值NSNotFound:用来表示无意义范围。
length字段:该范围内所含元素的个数。
例如:
字符串“Objective-C is a cool language”中,单词“cool”可以用location为17,length为4的范围来表示。
typedef struct _NSRange
{
unsigned int location;
unsigned int length;
}NSRange;
创建范围结构体:
直接给字段赋值:表示相关事物的范围:
NSRange range;
range.location = 19;
range.length = 4;
用C语言的聚合结构赋值机制:NSRange range = {17,4};
用NSMakeRange() , 好处是可以在任何能够使用函数的地方使用它,比如早方法调用中将其当成参数传递。
NSRange range = NSMakeRange(17,4);
几何数据类型:
点NSPoint , 代表一个点(x, y), 用NSMakePoint() :
typedef struct _NSPoint
{
float x;
float y;
}NSPoint;
尺寸NSSize , 用NSMakeSize() :
typedef struct _NSSize
{
float width;
float height;
}NSSize;
区域NSRect , NSMakeRect() :
typedef struct_NSRect
{
NSPoint origin;
NSSize size;
}NSRect;
字符串:
NSString:标志是双引号内的字符串前的@,如:@“GU!”
创建字符串:省略号(...),它告诉我们(和编译器),这个方法可以接收多个以逗号隔开的其他参数。
+(id) stringWithFormat:(NSString *)format,...;
创建一个新的字符串:
NSString *str;
str = [NSString stringWithFormat: @"this is a string %@",2332];
类方法:stingWithFormat声明方法时添加了加号+,是一个类方法,也是一个工厂方法,提供的参数创建新对象实现协议,类方法也可以用来访问全局数据。
字符串的大小:NSString的length:方法,能够准确无误的处理国际字符串,
unsigned int length = [str length];
字符串的比较:isEqualToString:
比较字符串的大小:
NSString *string1 = [[NSString alloc] initWithFormat:@"a"];
NSString *string2 = [[NSString alloc] initWithFormat:@"b"];
NSLog(@"[string1 caseInsensitiveCompare:string2] : %ld", [string1
caseInsensitiveCompare:string2]);
将字符串转换为数组:componentsSeparatedByString:
截取字符串对象:
NSString *string = [NSString stringWithFormat:@"abcdef"];
// 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString *string1 = [string substringToIndex:2];
// 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
NSString *string2 = [string substringFromIndex:2];
截取字符串中的一段:
NSRange rang;
rang.location = 2;
rang.length = 2;
NSString *string3 = [string substringWithRange:rang];
字符串内是否还包括别的字符串:
- (NSRange) rangeOfString: (NSString *)str;
检查字符串是否以另一个字符串开头、结尾:
- (BOOL) hasPrefix: (NSString *)str;
- (BOOL) hasSuffix: (NSString *)str;
可变字符串:NSMutableString
字符串连接:- (void) appendString: (NSString *)str2;
插入字符串:
NSMutableString *str = [NSMutableString stringWithString:@"字符串"];
[str insertString:@"这是一个" atIndex:0];
删除字符串:
NSMutableString *str = [NSMutableString stringWithString:@"字符串拉拉啦"];
[str deleteCharactersInRange:NSMakeRange(1, 2)];
替换字符串:
NSMutableString *str = [NSMutableString stringWithString:@"字符串"];
[str replaceCharactersInRange:NSMakeRange(0, 2) withString:@"拉拉啦了"];
集合:
不可变数组:NSArray , 存储对象的有序列,可以在NSArray中放入任意类型的对象,但只能存OC的对象,而不 能存C语言中的基本数据类型,还不能存储nil,
创建一个新的NSArray:arrayWithObjects;
可变数组:NSMutableArray ,
在数组末尾添加对象:addObject;
删除对象:removeObjectAtIndex:
枚举:NSEnumerator
快速枚举:for (NSString *str in array)
{
}
字典:NSDictionary
创建字典:dictionaryWithObjectsAndKeys:
获取字典中的值:objectForKey:
给字典添加元素:setObject: forkey:
删除指定的元素:removeObjectForKey:
各种数值:NSNumber
包装基本数据类型,以对象形式实现,把简单数据类型封装成一个对象。
创建新的NSNumber对象的类方法:
numberWithChar:
numberWithInt:
numberWithFloat:
numberWithBool:
NSValue:
NSNumber是NSValue的子类,NSValue可以包装任意值,可用NSValue将结构放入NSArray和NSDictionary;
+ (NSValue *) valueWithBytes:(const void *) value objCType:(const char *) type;
- Foundation Framework基础类
- Objective-c 基础框架(Foundation Framework)
- Foundation Framework 常用类使用方法
- Foundation.framework
- Foundation Framework
- Foundation基础 --- NSString类
- 【Foundation.framework】NSURLConnection
- Foundation Framework Root Classes
- Predicates of Foundation Framework
- The Foundation Framework
- Foundation Framework 日期 NSDate
- Foundation Framework 字典 NSDictionary
- The Foundation Framework
- 黑马程序员-Foundation框架以及Foundation框架中的基础类
- 关于Foundation framework classes摘要
- Data Types of Foundation Framework
- Foundation Framework 数组 NSArray、NSMutableArray
- 英语语法基础篇-foundation
- mapReduce分组
- Android开发之onClick事件的三种写法
- 天空海阔为了你
- linux编程--gdb调试学习
- 约瑟夫环问题——legend
- Foundation Framework基础类
- javax.servlet.jsp.JspException: No bean found under attribute key XXX
- 判断网络连接状态
- 判断路径文件夹是否存在,不存在创建
- C语言中exit(0)与exit(1)有什么区别
- wince 编写服务程序
- Mina框架与Spring整合配置文件
- C/C++中判断某一文件或目录是否存在
- documentsUI下载列表点击事件流程