OC - NSString使用介绍

nt main(int argc, const char * argv[])

{

@autoreleasepool {

//创建常量字符串

NSString* str1 = @"In fact, Objective-C is very simple.";

//创建空字符串,给予赋值

NSString* str2 = [[NSString alloc] init];

str2 = str1;

NSLog(@"str2: %@",str2);

//使用initWithString方法

NSString* str3 = [[NSString alloc] initWithString:str1];

NSLog(@"str3: %@",str3);

//将一个字符串复制到另一个字符串

NSString* str4 = [NSString stringWithString:str1];

NSLog(@"str4: %@",str4);

//将一个字符串复制到另一个字符串结果,即连接两个字符串

NSLog(@"str1 concatentation str2: %@",[str1 stringByAppendingString:str2]);

//计算字符串的长度(length)

NSLog(@"Length of str1: %lu",[str1 length]);

//验证两个字符串是否相等

if ([str1 isEqualToString:str2]) {

NSLog(@"str1 == str2 ");

}else{

NSLog(@"str1 != str2");

}

//将字符串转化为大写

NSLog(@"Uppercase str1: %@",[str1 uppercaseString]);

//将字符串转化为小写

NSLog(@"Uppercase str1: %@",[str1 lowercaseString]);

//返回索引i的Unicode字符

NSLog(@"%hu",[str1 characterAtIndex:10]);

}

return 0;

NSString方法

+(id) stringWithContentsOfFile:path encoding:enc error:err

创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误

+(id) stringWithContentsOfURL:url encoding:enc error:err

创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误

+(id) string

创建一个新的空字符串

+(id) stringWithString:nsstring

创建一个新的字符串,并将其设置为nsstring

-(id)initWithString:nsstring

将分配的字符串设置为nsstring

-(id) initWithContentsOfFile:path encoding:enc error:err

将字符串设置为path制定的文件的内容

-(id) initWithContentsOfURL:url encoding:enc error:err

将字符串设置为url(NSURL *)url的内容,使用字符编码enc,如果非零,则返回err中的错误

-(id) (UNSIgned int)length

返回字符串中的字符数目

-(unichar)characterAtIndex:i

返回索引i的Unicode字符

-(NSString *)substringFromIndex:i

返回从i开始知道结尾的子字符串

-(NSString *)substringWithRange:range

根据指定范围返回子字符串

-(NSString *)substringToIndex:i

返回从该字符串开始到索i的子字符串

-(NSComparator *)caseInsensitiveCompare:nsstring

比较两个字符串,忽略大小写

-(NSComparator *)compare:nsstring

比较两个字符串

-(BOOL)hasPrefix:nsstring

测试字符串是否以nsstring开始

-(BOOL)hasSuffix:nsstring

测试字符串是否以nsstrng结尾

-(BOOL)isEqualToString:nsstring

测试两个字符串是否相等

-(NSString *) capitalizedString

返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)

-(NSString *)lowercaseString

返回转换为小写的字符串

-(NSString *)uppercaseString

返回转换为大写的字符串

-(const char*)UTF8String

返回转换为UIF-8字符串的字符串

-(double)doubleValue

返回转换为double的字符串

-(float)floatValue

返回转换为浮点值的字符串

-(NSInteger)integerValue

返回转换为NSInteger整数的字符串

-(int)intValue

返回转换为整数的字符串

NSMutableString方法

NSMutableString类可以用来创建可以更改字符的字符串对句.因为是NSString的子类,所以可以使用NSString类的所有方法.

+(id) stringWithCapacity:size

创建一个字符串,初始包含size的字符

-(id) initWithCapacity:size

使用初始容量为size的字符串来初始化字符串

-(void) setString:nsstring

将字符串设置为nsstring

-(void) appendString:nsstring

在接收者的末尾附加nsstring

-(void) deleteCharactersInRange:range

删除指定range中的字符

-(void) insertString:nsstring atIndex:i

以索引i为起始位置插入nsstring

-(void) replaceCharactersInRange:range withString:nsstring

使用nsstring替换range指定的字符

-(void) replaceOccurrencesOfString:nsstring withString:nsstring2 options:opts range:range

根据选项opts。使用指定range中的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结尾 开始搜索)NSAnchoredSearch(nsstring必须匹配范围的开始),NSLiteralSearch(执行逐字节比较以及 NSCaceInsensitiveSearch的按位或组合)

NSInteger、NSUInteger

当你不知道程序运行哪种处理器架构时,你最好使用NSInteger,因为在有可能int在32位系统中只是int类型,而在64位系统,int可能变是long型。除非不得不使用int/long型,否则推荐使用NSInteger。

从上面的定义可以看出NSInteger/NSUInteger是一种动态定义的类型,在不同的设备,不同的架构,有可能是int类型,有可能是long类型。

NSUInteger是无符号的,即没有负数,NSInteger是有符号的。

NSNumber

有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?

NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中等。

NSInteger intVal = 123;

NSNumber *numberVal = [NSNumber numberWithInteger:intVal];

NSMutableArray* array = [NSMutableArray array];

[array addObject:intVal];    //错误,intVal不是一个对象类型

[array addObject:numberVal]; //正确

Cocoa提供了NSNumber类来包装(即以对象形式实现)基本数据类型。

+ (NSNumber*)numberWithChar: (char)value;

+ (NSNumber*)numberWithInt: (int)value;

+ (NSNumber*)numberWithDouble:(double)value;

+ (NSNumber*)numberWithFloat: (float)value;

+ (NSNumber*)numberWithBool: (BOOL) value;

...

将基本类型数据封装到NSNumber中后,就可以通过下面的实例方法重新获取它:

- (char)charValue;

- (int)intValue;

- (float)floatValue;

- (double)doubleValue;

- (BOOL)boolValue;

...

时间: 2024-11-05 18:43:44

OC - NSString使用介绍的相关文章

黑马程序员---OC基础2【对象储存】【函数和方法的区别】【方法和对象关系】【对象作为方法参数】【NSString类介绍】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [对象储存] 1.对象的储存细节 [Car  new] new做了3件事 1)向计算机申请存储空间 2)给类中的每一个成员初始化值 3)返回新申请的空间的首地址 (1).申请的空间在内存的哪个区? new 的时候申请的空间内存的堆区(程序动态分配的内存空间) 当new内存的布局: 初始化的时候: 如果实例变量是基本数据类型,此时给初始为0, 如果是字符串类型此时初始化为null (2).实例变

ios7开发学习笔记-包括c oc 和ios介绍

请查看我的新浪资料分享 http://iask.sina.com.cn/u/2430843520 ios7开发学习笔记-包括c oc 和ios介绍,布布扣,bubuko.com

OC - 2.OC基础知识介绍

一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 以字母或下划线开头 3> 字符串 OC语言有自己特有的字符串,,区别于C语言字符串 4> BOOl类型 只有YES和NO两种取值 本质上是char类型,但理解为整型 BOOL类型是由 条件编译机制引进的 5> #import与#include 都是将文件内容拷贝到指令出现的代码行 系统文件

OC 数组方法介绍

NSArray 是不可变的数组,只能够存放对象,但是可以存放不同类型的对象 首先定义一个类 #import <Foundation/Foundation.h> @interface Person : NSObject @property NSString *name; - (id)initWithName:(NSString *)name; @end #import "Person.h" @implementation Person - (id)initWithName:(

OC——NSString的常用方法

NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@"%@",[str1 uppercaseString]); //全部转为小写 NSLog(@"%@",[str1 lowercaseString]); //首字母大写 NSLog(@"%@",[str1 capitalizedString]); //比较两个字符

OC NSString总结

1.初始化 2.常用方法 拼接字符串 判断是否相同字符串 [answer isEqualToString:self.currentModel.answer]//answer==self.currentModel.answer区别 3.方法的比较 NSSttring stringByAppendingString //NSString不可变,每次append生成新的NSString NSMulbtbleString appendString //NSMulbtbleString操作自身 1 __b

C 和 OC 字符串转换 NSString 和 char * 转换 const char* 与 char *

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { char *s = "Hello"; //C - > OC NSString * str1 = [[NSString alloc] initWithUTF8String:s]; //OC -> C const char *p1 = [str1 UTF8String]; const char *p2 = [str1

OC基础笔记目录

OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象的存储细节 函数与方法对比 常见错误 OC基础(4) NSString 类介绍及用法 结构体成员变量 对象和方法之间的关系 对象作为方法的参数连续传递 OC基础(5) #pragma mark指令 OC多文件开发介绍 匿名对象

【iOS开发系列】用简单工厂模式理解OC反射机制

// 在iOS开发中,简单工厂模式使用得并不多.但是.我认为这是OC反射机制很好的一个例子, // 所以本文将以计算器为例,讲解简单工厂模式和OC的反射机制. // [简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类( // 这些产品类继承自一个父类或接口)的实例.该模式中包含的角色及其职责:工厂角色.抽 // 象产品角色.具体产品角色] // --百度百科 简单工厂模式 // 上面这句话可能不怎么好理解,我在网上找到了一个例子,可能例子本身不能完全解释这个 // 设