码迷,mamicode.com
首页 > 其他好文 > 详细

【Objective-C学习记录】第二十二天

时间:2015-12-24 00:27:29      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

不可变字符串操作

1.initWithFormat:。初始化操作,其中直接赋值的效果与该方法一样,例如:

1 NSString *string1 = [[NSString alloc] initWithFormat:@"iOS"];
2 NSString *string2 = @"iOS";

但需要注意的是,第二种方法声明的是常量字符串,位于内存里的常量区。

2.length。获取字符串长度,length的定义是

1 @property (readonly) NSUInteger length;

通过调用属性的方式即可:[string length]或string.length

3.isEqualToString:。判断两个字符串的内容是否相等

4.compare:。比较两个字符串的大小,可以看一下该方法的定义:

1 - (NSComparisonResult)compare:(NSString *)string;

可以发现该方法有一个返回值,查看该返回值的定义:

1 typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

返回值为枚举类型,其中-1表示升序,即前面的字符串比后面的字符串小,以此类推。

5.获取子串:

   A.substringFromIndex:。后面跟下标,即从指定的下标开始截取字符串。

   B.substringToIndex:。后面跟下标,即从头开始截取到指定的下标。

   以上两个方法,一个从中间到结尾,一个从开头到中间。

   C.substringWithRange:。后面写这样类型的一个参数:(NSRange)range,查看该类型的定义:

1 typedef struct _NSRange {
2     NSUInteger location;
3     NSUInteger length;
4 } NSRange;

   该类型是一个结构体,通过NSMakeRange方法可以传入正确的参数,分别表示开始位置和长度。

6.stringByAppendingString:。拼接字符串,将参数里的字符串拼接到前面,要注意的是,该方法会将拼接后的字符串作为返回值,即不会对原有的两个字符串进行任何操作

7.替换字符串:

   A.stringByReplacingCharactersInRange:withString:。与前面获取子串的方法类似,给定一个NSRange范围,从后面的字符串替换,即使后面的字符串比前面长也可以正常进行。

   B.stringByReplacingOccurrencesOfString:withString:。该方法会根据第一个参数对字符串进行匹配,用第二个参数将匹配到的全部替换。

8.类型转换

   intValue charValue 依次类推

9.大小写

   A.uppercaseString。全部转大写

   B.lowercaseString。全部转小写

   C.capitalizedString。每个单词的首字母大写

10.字符串检验

    A.hasPrefix:。检测字符串是否以参数开头,返回值是BOOL

    B.hasSuffix:。检测字符串是否以参数结尾,返回值是BOOL

可变字符串操作:

1.initWithCapacity:。可变字符串初始化,参数为分配的空间,因为可变字符串的大小不是固定的,所以根据实际情况给值,没有规定可以用0填充。

2.setString:。用传入的参数设置字符串的值,会将原有的内容覆盖掉。

3.appendFormat:。拼接字符串,与stringByAppendString:同理

4.deleteCharactersInRange:。根据给定的NSRange删除字符串

5.insertString: atIndex:。在指定的下标插入字符串,第一个参数是插入的字符串,第二个参数是插入的下标

6.replaceCharactersInRange:withString:。替换指定范围内的字符串,第一个参数是NSRange类型的范围,第二个参数是需要的字符串

值对象:

NSNumber

因为OC中的数组可以存储不同类型的数据,但是这些数据必须是对象,所以需要通过值对象来存储基本数据类型。语法:NSNumber *num = [NSNumber numberWithInt:4];

后面的方法可以根据具体参数类型的进行更改。

也可以将NSNumber *类型的对象还原成 基本数据类型

[num intValue]

值对象也可以通过compare:方法比较大小

NSValue

NSValue与NSNumber相比,不仅可以转换基本数据类型,还能转换结构体和对象。

【Objective-C学习记录】第二十二天

标签:

原文地址:http://www.cnblogs.com/shvier/p/5071536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!