`
linwwwei
  • 浏览: 224347 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NSString 的理解

 
阅读更多

1, 创建一个NSString对象
简单方法:
NSString *aString = @"我是个NS字符串!";  //除了引号外加@, 没别的区别
*上面的不需要操心内存管理哟~
复杂一点儿:(需要内存管理的)
NSString *aString = [[NSString alloc] initWithFormat:@"这也是个NS字符串!"];
*initWithFormat是其中一个初始化方法,常用的还有
//从一个文件读取需要的内容- (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error//从一个地址读取需要的内容- (id)initWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error
*以上方法得到的NSString的retain值为1,所以记得release掉阿~~
2,使用一个NSString对象
NSString *aString = @"This is a NSString"; NSLog(aString);   //在控制台输出信息,该函数方法需要一个NSString对象作为参数 NSLog("这样不会好使的"); NSLog(@"这样就会好使拉~");
再比如设置一个UIView的标题:
[UIView setTitle:aString]; [UIView setTitle:@"标题"]; UIView.title = aString;
3,释放NSString
[aString release]; //对象将被系统释放掉咯
*记得不要释放直接用 = @”xxx” 的NSString对象哟,系统会管的~
4,快速使用一个NSString
NSLog([NSString stringWithFormat:@"一个NS字符串"]);
//这种快速方法返回的是一个retain为1,autorelease的对象,不需要操心它的内存管理
5,常用方法
我喜欢NSString的地方就在于很多方法非常方便,比如:
nString = [aString substringToIndex:4]; //nString将得到aString中的前四个字符

6,常见错误

NSString *aString = [NSString alloc] initWithString:nil];(会出错,相当于用nil初始化)

NSString *aString = [NSString alloc] initWithString:@""];(ok)

<!--StartFragment-->

7,字符串

将几个NSString字符串进行连接

NSString* str1; NSString* str2

1. NString* str3= [NSString initWithFormat:@"%@,%@", str1, str1];

2. NString* str3= [string1 stringByAppendingString:str2];

3 . NString* str3= [string stringByAppendingFormat:@“%@,%@”,str1, str2]; 

<!--EndFragment-->

8,类型转换

int 到NSString :[NSString stringWithFormat:@"%d",myInt];

NSString到int,float都是 int myInt = [str1 intValue];

日期转为NSString

<!--StartFragment-->

<!--StartFragment-->

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"MM-dd-hh-mm-ss"];

NSString*locationString=[formatter stringFromDate: [NSDate date]];

NSArray*timeArray=[locationStringcomponentsSeparatedByString:@"-"];

float value_D=   [[timeArray objectAtIndex:1]floatValue]; 
   

float value_h=  [ [timeArray objectAtIndex:2]floatValue]; 
   

float value_m= [ [timeArray objectAtIndex:3]floatValue]; 
   

float value_s=  [ [timeArray objectAtIndex:4]floatValue]; 
   

float  value_All=value_D*24*60*60+value_h*60*60+value_m*60+value_s;

[formatter release];

9,常见方法

<!--StartFragment-->

<!--StartFragment-->

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

返回索引iUnicode字符

-(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

返回转换为UIF8字符串的字符串

-(double)doubleValue

返回转换为double的字符串

-(float)floatValue

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

-(NSInteger)integerValue

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

-(int)intValue

返回转换为整数的字符串

 

NSMutableString方法

+(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) replaceOccurrencesOf

String:nsstring withString:nsstring2 options:opts range:range

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

<!--EndFragment-->

<!--EndFragment-->

<!--StartFragment-->

在你自己的初始化方法中,需要调用自己的指定初始化函数或者超类的指定初始化函数。一定要将超类的初始化函数的值赋给self对象,并返回你自己的初始化方法的值。超类可能返回一个完全不同的对象

<!--EndFragment-->
0
0
分享到:
评论

相关推荐

    iOS NSString详细操作

    ### iOS NSString 详细操作知识点 #### 一、概述 在iOS开发中,`NSString`是处理文本数据的核心类。...通过上述知识点的学习,开发者能够更好地理解和使用`NSString`类,从而提高iOS应用程序的开发效率和质量。

    NSString扩展类

    在iOS开发中,NSString是Objective-C中的一个核心类,用于处理和操作文本字符串。这个“NSString扩展类”是为了简化开发者的工作,将常见的字符串处理...记得在使用前理解并测试这些扩展方法,确保它们符合项目需求。

    iphone 开发学习基础NSString

    在iOS开发中,Objective-C是苹果官方推荐的编程语言,尤其对于iPhone应用开发而言,它起着至关...在提供的"Classes"文件夹中,可能包含了相关的示例代码,通过实际运行和调试这些代码,将有助于加深对NSString的理解。

    NSString用法.pdf

    NSString是Objective-C中用于处理文本...总之,NSString是Objective-C中处理文本数据的基础,它的方法和特性使得我们可以方便地创建、操作和格式化文本,对于iOS和macOS开发者来说,深入理解NSString的用法至关重要。

    iPhone之NSString常用方法示例程序

    这个“iPhone之NSString常用方法示例程序”旨在帮助开发者更好地理解和使用NSString类中的各种方法。在开发iPhone应用时,字符串操作是非常常见的,NSString提供了丰富的API来处理这些需求。 首先,NSString是不可...

    ios NSData NSString AES加密解密算法源码

    理解并掌握这种AES加密解密方法对于iOS开发者来说非常关键,可以有效地保护应用程序的数据安全,防止未授权访问。同时,了解如何在Objective-C中使用CommonCrypto库也可以扩展到其他加密算法的实现,如RSA或DES。在...

    ios demo,NSData和NSString之间的相互转换的源代码

    这个demo对初学者理解这两种类型之间的转换非常有帮助,对于经验丰富的开发者来说,也是一个快速实现转换功能的参考。通过阅读和分析源代码,我们可以学习到更多关于NSData和NSString转换的细节,提升我们的iOS开发...

    NSData 与 NSString,Byte数组,UIImage 的相互转换

    总之,理解并熟练掌握`NSData`、`NSString`以及`UIImage`之间的转换,是iOS和macOS开发中的基本技能,能有效提升代码的灵活性和可维护性。在具体项目中,应根据实际情况选择合适的转换方式,确保数据处理的准确性和...

    NSString处理时间里面月份含零

    首先,让我们理解`NSString`和`NSDate`的基本概念。`NSString`是一个不可变的字符序列,常用于存储文本数据,包括日期和时间的字符串表示。而`NSDate`则代表一个特定的时间点,不依赖于任何特定的地理位置或时区。当...

    NSString+ToolString

    首先,我们来理解`NSString+ToolString` 这个命名。`+` 在Objective-C中表示类别(Category),在这里是扩展`NSString` 类的功能。`ToolString` 则意味着这是一个工具类,专门用于字符串的工具方法,尤其是针对特定...

    OC-NSString为什么用copy修饰而不是用strong

    这个问题涉及到Objective-C中的内存管理和字符串特性的理解。 首先,我们要明白`strong`和`copy`这两个关键字在OC中的含义。`strong`关键字表示增加对象的引用计数,当对象的引用计数为0时,会自动释放该对象。而`...

    ios_NSString转成16进制Demo

    在iOS开发中,NSString...理解并熟练运用这些基础知识对于iOS开发者来说至关重要,因为它们构成了iOS应用功能实现的基础。通过学习和实践这样的Demo,开发者可以更好地掌握字符串处理和动画设计的技巧,提升开发能力。

    NSString-Validation:NSString 上用于检查有效性和转换字符串的类别

    首先,让我们理解`NSString`类别。在Objective-C中,类别允许我们给已存在的类添加方法,而无需继承。这使得我们可以为`NSString`添加一些验证和转换字符串的便捷功能,而不会干扰其原有的行为。例如,我们可以创建...

    NSString属性何时用strong何时用copy?

    在iOS开发中,NSString是一个非常基础且重要的类,用于处理文本数据。在声明NSString属性时,我们经常需要决定使用`strong`还是`copy`作为内存管理关键字。这两个关键字在内存管理上有所不同,对对象的生命周期和...

    NSString-HEX:NSString 类上的十六进制实用程序类别

    通过`NSString-HEX`类别,我们可以更直观地查看和操作二进制数据,而无需深入理解底层的位运算和二进制转换。 在`NSString-HEX-master`压缩包中,可能包含了该类别的源代码文件,例如`.m`和`.h`文件。`.m`文件是...

    NSString与C字符串之间的相互转换

    总的来说,NSString与C字符串之间的转换是Objective-C编程中常见的操作,理解和掌握它们的转换方法是开发iOS和macOS应用的基础。在进行转换时,尤其要注意字符编码的问题,以确保数据的正确性和兼容性。

    Object-c字符串数组字典

    在Objective-C语言中,字符串、数组、字典以及集合是常用的数据结构类型。这些类型分为可变和不可变两种,它们分别对应...理解并熟练使用这些基本数据结构和操作方法,对于使用Objective-C进行开发来说是十分重要的。

    OC-里的字符串

    在iOS和Mac开发中,Objective-C(简称OC)是一门重要的编程语言,它引入了许多类库,其中之一就是...在学习和使用NSString时,理解其不可变性以及如何利用各种方法进行操作,对于编写高效、健壮的代码至关重要。

    OC-初学者基础-字符串

    在编程领域,Objective-C(简称OC)是一种广泛用于开发iOS和macOS应用程序的面向对象的编程语言。在OC中,字符串是数据处理的核心部分,它...理解和熟练掌握这些操作对于编写高效且功能丰富的iOS和macOS应用至关重要。

    MD5Demo简单程序

    2. 定义MD5加密方法:你可以创建一个类别如`NSString (MD5)`,扩展`NSString`类,添加一个计算MD5的方法。如下所示: ```objc @interface NSString (MD5) - (NSString *)MD5String; @end @implementation NSString ...

Global site tag (gtag.js) - Google Analytics