字符串 数组

一、使用苹果帮助文档

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

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. php连接ftp的研究,自带ftp函数 | fsockopen | curl实现ftp的连接

    持续更新中..............

  2. UVALive 5905 Pool Construction 最小割,s-t割性质 难度:3

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  3. 线程系列3---ThreadLocal类研究

    2013-12-23 17:44:44 Java为线程安全提供了一些工具类,如ThreadLocal类,它代表一个线程局部变量,通过把数据放在ThreadLocal中就可以让每个线程创建一个该变量的副 ...

  4. TClientDataSet 设计期 多次New 字段问题

    第一次New几个字段后,右键菜单CreateDataSet 后来需要再New几个字段. 右键菜单,先 ClearData(不这样,会报 打开的数据集不能执行 这个New字段的操作),然后在 字段编辑器 ...

  5. Sublime Text 3 插件安装

    1.安装 Package Control 组件 sublime菜单栏->view->show console: 输入以下命令回车: import urllib.request,os; pf ...

  6. IE7的overflow失效的解决方法

    IE7的position:relative bug今天遇到了一个相对定位(position:relaitve)引起的IE7中overflow:hidden失效的bug,特此记录!解决方法很简单,给父层 ...

  7. Cocoapods的安装与使用

    一.安装 1.CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境.OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令: sudo gem install cocoa ...

  8. DotNetBar v12.9.0.0 Fully Cracked

    更新信息: http://www.devcomponents.com/customeronly/releasenotes.asp?p=dnbwf&v=12.9.0.0 如果遇到破解问题可以与我 ...

  9. Microsoft Visual Studio Ultimate 2013 with Update 3 CN+EN

    官方90天试用版. Microsoft Visual Studio Ultimate 2013 with Update 3 - 简体中文DVD5 ISO image (SHA-1: 9A306631A ...

  10. SharePoint 2013 Nintex Workflow 工作流帮助(一)

    博客地址 http://blog.csdn.net/foxdave 接下来一段时间的内容中,我们基于SharePoint 2013来了解一下Nintex Workflow的具体内容. 之前的几篇由于之 ...