字符串 数组

一、使用苹果帮助文档

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

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. bzoj 2330: [SCOI2011]糖果

    #include<cstdio> #include<iostream> using namespace std; ],next[],u[],v[],h,t,a[]; ],f[] ...

  2. Pogo-Cow

    题目大意: 给出直线上N个点的坐标和分数,任意选一个点出发,每次只能跳到另外一个点上并获得相应的分数,且每次跳的方向要相同,本次跳的距离不小于上次跳的距离.  求最大得分.   N<=1000. ...

  3. 向MySql中插入中文时出现乱码

    这个因为字符集编码问题.在连接字符串中加上CharSet=gbk

  4. ARM安装ROS- indigo

    Ubuntu ARM install of ROS Indigo 溪西创客小屋 There are currently builds of ROS for Ubuntu Trusty armhf. T ...

  5. WP8.1 Study4:WP8.1中控件集合应用

    1.AutoSuggestBox的应用 在xaml里代码可如下: <AutoSuggestBox Name="autobox" Header="suggestion ...

  6. SharePoint安全 - SharePoint网站常用页面URL索引

    博客地址 http://blog.csdn.net/foxdave 一. 主要网站内容 首页 /default.aspx /Pages/default.aspx 网站设置 /_layouts/sett ...

  7. PHP笔记(一)

    1. public 表示全局,类内部外部子类都可以访问:private表示私有的,只有本类内部可以使用:protected表示受保护的,只有本类或子类或父类中可以访问: 2. ==是包括变量值与类型完 ...

  8. Discuz 论坛的搭建(五)

    配置discus论坛 1.下载discus论坛代码 2.解压缩到ApacheProject目录下 3.把discuz的upload文件copy到discuz文件夹下,然后删除upload文件夹 4.修 ...

  9. iOS App上架流程(2016详细版

    http://www.jianshu.com/p/b1b77d804254 iOS App上传项目遇到的问题 http://www.jianshu.com/p/9195cd991fc7

  10. GSM短信侦听的便宜方案

    侦听GSM短信常用的是OsmocomBB + C118方案,主要是用luca/gsmmap分支.使用ccch_scan这个程序可以把通信封装成GSMTAP发给本机,然后用WireShark接收GSMT ...