字符串 数组

一、使用苹果帮助文档

学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能

Inherits from 继承⾃自

Conforms to 遵循什么协议

Framework 属于哪个框架

Availability 什么时候可⽤用的

Declared in 声明在什么头文件⾥里

Related documents 相关文档

Sample code ⽰示例代码

快速打开帮助文档

在代码中,将⿏鼠标停留在 类名或者⽅法名上,option+⿏鼠标左键,点击

Reference的超链接进⼊入帮助⽂文档。

也可使用command+⿏鼠标左键,进⼊头⽂文件,查看类的接口部分。

二、字符串

Foudation框架是cocoa编程,iOS编程的基础框架,包括:字符 串、集合、⽇期、时间等基础类。

NSString和NSMutableString,即不可变字符串和可变字符串

c语言中,字符串是由char字符数组组成

oc中,字符串类是由unichar(多字节字符)组成,功能很强大。

NSString

不可变字符串类。 NSString对象创建以后,内容和⻓度不能更改

常用方法

创建⼀个新的字符串,可以使⽤实例方法和便利构造器。

获取字符串长度。

判断字符串的是否以指定字符串开始或结束。

搜索字符串范围。

字符串截取(获取子字符串)。

拼接字符串。

替换字符串。

字符串⽐比较。

字符串和数值类型转换。

⼤小写转换操作。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
/*
NSString *str1 = @"张三";
NSString *str2 = [[NSString alloc] initWithFormat:@"hi,%@ ,%d岁",str1,29];
// NSUInteger length = [str1 length];
NSLog(@"%lu",[str2 length]);
NSString *str3 = [NSString stringWithFormat:@"hai %@, %d",str1,29];
NSLog(@"%@",str3); NSLog(@"%d",[str2 hasPrefix:@"hi"]);//判断字符串以xxx字符为前缀
NSLog(@"%d",[str2 hasSuffix:@"岁"]);//判断字符串以xxx字符为结尾
NSRange range = [str2 rangeOfString:@"三"];
NSLog(@"%lu %lu",range.location,range.length);
NSLog(@"%@",[str2 substringFromIndex:5]);//截取字符串
NSLog(@"%@",[str2 substringToIndex:5]);
NSRange r ={3,3};
NSLog(@"%@",[str2 substringWithRange:r]);//从哪里截取,截取多长字符串
NSLog(@"%@",[str1 stringByAppendingString:str2]);//字符串拼接
NSLog(@"%@",[str1 stringByAppendingFormat:@"---%@",str2]);//字符串格式化拼接
NSLog(@"%@",[str1 stringByReplacingOccurrencesOfString:@"三" withString:@"789456"]);//字符串替换
NSString *str4 = @"文艺青年";
NSString *str5 = [str4 stringByReplacingOccurrencesOfString:@"文艺" withString:@"2B"];
NSLog(@"%@",str5);
//输出
// 2014-06-26 17:03:16.424 LessonString[1358:303] 10
// 2014-06-26 17:03:16.426 LessonString[1358:303] hai 张三, 29
// 2014-06-26 17:03:16.426 LessonString[1358:303] 1
// 2014-06-26 17:03:16.426 LessonString[1358:303] 1
// 2014-06-26 17:03:16.427 LessonString[1358:303] 4 1
// 2014-06-26 17:03:16.427 LessonString[1358:303] ,29岁
// 2014-06-26 17:03:16.427 LessonString[1358:303] hi,张三
// 2014-06-26 17:03:16.428 LessonString[1358:303] 张三
// 2014-06-26 17:03:16.428 LessonString[1358:303] 张三hi,张三 ,29岁
// 2014-06-26 17:03:16.429 LessonString[1358:303] 张三---hi,张三 ,29岁
// 2014-06-26 17:03:16.429 LessonString[1358:303] 张789456
// 2014-06-26 17:03:16.429 LessonString[1358:303] 2B青年
*/
/*
NSString *str11 = @"lanoukeji";
NSString *str12 = [NSString stringWithFormat:@"lanoukeji"];
if ([str11 isEqualToString:str12]) {
NSLog(@"str11 和str12 一样");
}else{
NSLog(@"different");
}//比较字符串是否相等
NSString *str13 = @"123";
int a = [str13 intValue];
NSLog(@"%d",a); NSString *str14 = @"ni hao";
NSLog(@"%@",[str14 capitalizedString]);//首字母大写
return 0;
//输出
// 2014-06-26 17:02:05.826 LessonString[1347:303] str11 和str12 一样
// 2014-06-26 17:02:05.827 LessonString[1347:303] 123
// 2014-06-26 17:02:05.828 LessonString[1347:303] Ni Hao */

NSMutableString

可变字符串类。

NSString 类的子类,该类创建的字符串是一个动态的可变的字符 串,可以支持增删改查等动态的操作。

NSMutableString是NSString的⼦子类,继承得到所有⽅方法。

不可变字符串的修改操作,本质就是得到一个新的字符串。

不可变字符串的修改方法以string开头,有返回值。

可变字符串的修改方法没有返回值,修改原字符串

字符串NSString

创建 initWithFormat  或者 stringWithFormat
//1.求字符串长度
//- length
//2.判断字符串是否相等
// - isEqualToString
//3.字符串替换
//- stringByReplacingOccurrenceOfString:WithString;
//4.字符串拼接
//- stringByAppendingFormat;
//5.字符串比较
//- compare;
//6.求子串
//- substringFromIndex;
//7.查询字符串
//- rangeOfString;
//8.前缀  后缀
//- hasPrefix;
//- hasSuffix;
//9.字符大写
//- uppercaseString
 
可变字符串NSMutableString
创建  使用父类继承的方法或者使用自己的创建方法
//- initWithCapacity;
//- appendFormat;
//- insertString:atIndex;
//- deleteCharactersInRange;
//- replaceCharactersInRange:withString;
 
 
 
不可变数组NSArray   只能存储对象(继承来自NSObject的类)
不能添加,不能删除,不能修改
创建数组
//-initWithObjects;
//查找 - objectAtIndex:
//个数 -count
 
可变数组NSMutableArray
//最后增加 -addObject:
//插入   -insertObject:atIndex:
//移除   -removeObjectAtIndex:      //移除所有的  removeAllObjects
//替换  -replaceObjectAtIndex:withObject

iOS学习笔记---oc语言第四天的更多相关文章

  1. iOS学习笔记---oc语言第五天

    字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...

  2. iOS学习笔记---oc语言第一天

    第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++  java   ...

  3. iOS学习笔记---oc语言第三天

    继承.初始化方法 一.继承 继承的上层:父类  继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量 ...

  4. iOS学习笔记---oc语言第十天

    内存管理高级 一 属性的内部实现原理   assign   retain    copy assign 下的属性内部实现 setter方法 @property(nonatomic,assign)NSS ...

  5. iOS学习笔记---oc语言第九天

    初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...

  6. iOS学习笔记---oc语言第六天

    Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...

  7. iOS学习笔记---oc语言第二天

    实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc  注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- ...

  8. iOS学习笔记---oc语言第八天

    属性 能在一定程度上简化代码,并且增强实例变量的访问安全性 属性的声明:使用@property声明属性  eg:@property NSSstring *name;相当于@interface中声明了两 ...

  9. iOS学习笔记---oc语言第七天

    类的扩展 NSDate是Cocoa中用于处理日期和时间的基础类,封装了某一给定的时刻,具体的日期 时间和时区 使用+date方法获取当前日期和时间 NSDate *date = [NSDate dat ...

随机推荐

  1. S1:new操作符

    function Shape(type){ this.type = type || "rect"; this.calc = function(){ return "cal ...

  2. jmeter之json数据参数化 断言等

    在 http Load Testing 中,json 数据的提交是个让人头疼的问题.本文详细介绍如何进行 JMeter 的 json 测试提交,以及如何将其参数化.Step 1 http json 请 ...

  3. IBatis.Net 表连接查询(五)

    IBatis.Net之多表查询: 一.定制实际对应类的方式 首先配置多表的测试数据库,IBatis.Net之Oracle表连接查询配置: 首先新建两张表如下: 为两张表建立外键: ALTER TABL ...

  4. C++-前缀和后缀

    1,c++规定后缀形式的++操作符有一个int行的参数,被调用时,编译器自动加一个0作为参数给他 2,前缀返回一个reference,后缀返回一个const对象 /////////////////// ...

  5. C++指针(部分有误需修改)

    一.取地址运算符&(内存地址) C++编译的程序占用的内存分为以下几个部分: 1.栈区:由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.与其它分区不同 ...

  6. as3基础知识

    在AS3中,值类型数据(简单类型:Boolean.int.Number.String.uint)和引用类型数据(复杂类型)都是 对象,所以这两种类型对象存储的都是引用.但是,对应值类型数据,是一种不变 ...

  7. java static

    一. static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员 ...

  8. RPI学习--wiringPi_setups

    reference: http://wiringpi.com/reference/setup/ There are four ways to initialise wiringPi. wiringPi ...

  9. PHP汉字转拼音类

    看到的文章,转过来留用,哈哈 汉字转拼音类(全拼与首字母) <?php class GetPingYing { private $pylist = array( 'a'=>-20319, ...

  10. 记录一些容易忘记的属性 -- UIImageView

    UIImage *image =  [UIImage imageNamed:@"back2.jpg"]; //创建一个图片对象,这个方法如果图片名称相同,不管我们调用多少次,得到的 ...