黑马程序员——IOS基础(Foundation框架一)
来源:互联网 发布:ov7670摄像头数据手册 编辑:程序博客网 时间:2024/06/08 00:38
框架是有许多类、方法、函数以及文档按照一定的规则组织起来的集合,以便于程序员更加方便、迅速的开发程序。
cocoa程序编写主要用到2个框架Foundation和ApplicationKit(UIKit)。其中Foundation框架主要定义了一些基础类,供程序员来使用,而Application Kit主要是一些用户界面设计的类,用于Mac开发使用此库。Foundation框架中的所有类都继承自NSObject这个对象。
作为通用的面向对象的函数库,Foundation提供了字符串,数值的管理,容器及其枚举,以及一些其他的与图像用户界面没有直接关系的功能。其中用于类和常数的“NS”前缀来自于Cocoa的来源,NextSTEP。它可以在Mac OX X和iOS中使用。
2、数字对象的常用处理方法
由于基本数据类型,它们不是对象,因此,不能向它们发送消息。然而有时也需要将他们当做对象来处理。比如,我们需要把基本类型放入集合中(在cocoa中集合只能存放对象,无法存放基本数据类型),那么这时我们需要将基本类型转换为数字对象。OC中提供了数字对象“NSNumber”可以将基本数据类型“包装”成对象,这样我们就可以将数据类型来处理了。
数字对象的初始化:
// 类方法创建数字对象
int number = 10;
NSNumber*intNumber = [NSNumber numberWithInt:number];
BOOL isBool =YES;
NSNumber*boolNumber = [NSNumber numberWithBool:isBool];
// 实例方法创建数字对象
float pi = 3.14;
NSNumber*piNumber = [[NSNumber alloc] initWithFloat:pi];
char character ='a';
NSNumber *cNumber= [[NSNumber alloc] initWithChar:character];
数字对象的转化:
// 还原成基本数据类型
int month =[intNumber intValue];
BOOL isOpen =[boolNumber boolValue];
float length =[piNumber floatValue];
char firstName =[cNumber charValue];
3、字符串的基本概念和常用处理方法
在Foundation框架中,提供了NSString类,用于处理字符串对象。在C语言中字符串在一对引号中表示。OC是C语言的一种延展,换句话说,OC语言是建立在C语言的基础上的(C的基础上添加了面向对象的内容,smalltalk语言)。因此,为了区别两者的字符串,OC语言的字符串必须以@开头,引号当中则是字符串的内容,如@“abc”。此外,NSString对象,一旦被创建,就不可以更改。如若需要一个可以更改的字符串对象,需要创建NSMutableString实例。
字符串对象的创建:
创建一个字符串
NSString *string= @"这是一个字符串常量";
创建一个空的字符串
NSString *string1= [[NSString alloc] init];
NSString *string2= [NSString string];
快速创建一个字符串
NSString *string= [[NSString alloc] initWithString:@"快速创建字符串"];
NSString *string= [NSString stringWithString:@"快速创建一个字符串"]
比较字符串对象
测试字符串是否为同一个对象:
NSString*string1 = [[NSString alloc] initWithFormat:@"test"];
NSString*string2 = [[NSString alloc] initWithFormat:@"test"];
if (string1 ==string2) {
NSLog(@"测试两个字符串是否为同一个对象");
}
比较字符串的大小:
NSString*string1 = [[NSString alloc] initWithFormat:@"a"];
NSString*string2 = [[NSString alloc] initWithFormat:@"b"];
NSLog(@"[string1 caseInsensitiveCompare:string2] : %ld", [string1 caseInsensitiveCompare:string2]);
求字符串的长度:
NSString*string1 = [[NSString alloc] initWithFormat:@"string length"];
NSUInteger*length = [string1 length];
字符串的转换
改变字符串大小写:
NSString*hello = @'"hello WORLD";
NSLog(@“%@”,[hello uppercaseString]); //全部大写
NSLog(@"%@",[hello lowercaseString]); //全部小写
NSLog(@"%@",[hello capitalizedString]); // 首字母大写,其他字母小写
将字符串转换成基本数据类型:
NSString*string = @"2.467";
NSLog(@"%d",[string boolValue]); //转换成BOOL类型
NSLog(@"%f", [string floatValue]); //转换成浮点型
NSLog(@"%f", [string doubleValue]); //转换成双精度型
NSLog(@"%d", [string intValue]); //转换成整型
将字符串转换为数组:
NSString*string = @"One Two Three Four";
NSArray *array= [string componentsSeparatedByString:@" "];
字符串的截取与拼接
截取字符串
NSString*string = [[NSString alloc] initWithFormat:@"abcdef"];
// 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString*string1 = [string substringToIndex:2];
// 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
NSString*string2 = [string substringFromIndex:2];
NSRange rang;
rang.location= 2;
rang.length =2;
NSString*string3 = [string substringWithRange:rang];
拼接字符串
NSString *str1= @"1", *str2 = @"2";
NSString*string = [[NSString alloc] initWithFormat:@"这时拼接:%@ and%@", str1, str2];
NSString*string1 = [str1 stringByAppendingFormat:@"%@", str2];
NSString*string2 = [str1 stringByAppendingString:str2];
查询字符串
NSString *link= @"asdastarget=_blankddasd";
NSRange range= [link rangeOfString:@"target=_blank"];
if(range.location != NSNotFound)
{
NSLog(@"string 找到了");
}
可变字符串对象
插入字符串
NSMutableString*str = [NSMutableString stringWithString:@"字符串"];
[str insertString:@"可变"atIndex:0];
删除字符串
NSMutableString*str = [NSMutableString stringWithString:@"字符串"];
[strdeleteCharactersInRange:NSMakeRange(1, 2)];
替换字符串
NSMutableString*str = [NSMutableString stringWithString:@"字符串"];
[strreplaceCharactersInRange:NSMakeRange(0,2) withString:@"羊肉"]
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
- 黑马程序员——IOS基础(Foundation框架一)
- 黑马程序员——IOS基础(Foundation框架二)
- 黑马程序员——ios开发基础之OC中的Foundation框架(一)
- 黑马程序员——IOS学习笔记(Foundation框架(一))
- 黑马程序员--iOS--Objective-C基础 (Foundation框架 一 )
- 黑马程序员-iOS基础-Foundation框架基础
- 黑马程序员---iOS基础---Foundation框架
- 黑马程序员——ios知识整理——Foundation框架(一)
- 黑马程序员——Foundation框架(一)
- 黑马程序员——foundation框架(一)
- 黑马程序员——IOS基础——Foundation框架——结构体、字符串、数组
- 黑马程序员——零基础学习iOS开发——13 Foundation框架
- 黑马程序员-----Foundation框架续(一)
- 【黑马程序员】Foundation框架(一)
- 黑马程序员——ios开发基础之OC中Foundation框架(二)、copy以及单例
- 黑马程序员——OC基础05—Foundation框架
- 黑马程序员—OC语言基础—Foundation框架小结
- 黑马程序员----foundation框架基础
- Wi-Fi、ZigBee、BLE无线三国杀
- 汇编求数组最小值
- X-manager下使用sqlplus退格输出"^H"解决
- Java写的播放音乐文件
- javascript滑动门的实现方法和案例
- 黑马程序员——IOS基础(Foundation框架一)
- Hibernate下的hibenate.hbm2ddl.auto属性详解
- ubuntu12.04下安装第三方QQ
- 嵌入式linux烧写内核,文件系统的2种方式
- uboot中对U盘文件进行读写
- 黑马程序员——c语言基础:宏和条件编译
- search insert position
- C#日积月累之类型转换
- 如何构造二叉树