iOS学习笔记---oc语言第四天
字符串 数组
一、使用苹果帮助文档
学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能
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
iOS学习笔记---oc语言第四天的更多相关文章
- iOS学习笔记---oc语言第五天
字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...
- iOS学习笔记---oc语言第一天
第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++ java ...
- iOS学习笔记---oc语言第三天
继承.初始化方法 一.继承 继承的上层:父类 继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量 ...
- iOS学习笔记---oc语言第十天
内存管理高级 一 属性的内部实现原理 assign retain copy assign 下的属性内部实现 setter方法 @property(nonatomic,assign)NSS ...
- iOS学习笔记---oc语言第九天
初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...
- iOS学习笔记---oc语言第六天
Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...
- iOS学习笔记---oc语言第二天
实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc 注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- ...
- iOS学习笔记---oc语言第八天
属性 能在一定程度上简化代码,并且增强实例变量的访问安全性 属性的声明:使用@property声明属性 eg:@property NSSstring *name;相当于@interface中声明了两 ...
- iOS学习笔记---oc语言第七天
类的扩展 NSDate是Cocoa中用于处理日期和时间的基础类,封装了某一给定的时刻,具体的日期 时间和时区 使用+date方法获取当前日期和时间 NSDate *date = [NSDate dat ...
随机推荐
- bzoj 2330: [SCOI2011]糖果
#include<cstdio> #include<iostream> using namespace std; ],next[],u[],v[],h,t,a[]; ],f[] ...
- Pogo-Cow
题目大意: 给出直线上N个点的坐标和分数,任意选一个点出发,每次只能跳到另外一个点上并获得相应的分数,且每次跳的方向要相同,本次跳的距离不小于上次跳的距离. 求最大得分. N<=1000. ...
- 向MySql中插入中文时出现乱码
这个因为字符集编码问题.在连接字符串中加上CharSet=gbk
- ARM安装ROS- indigo
Ubuntu ARM install of ROS Indigo 溪西创客小屋 There are currently builds of ROS for Ubuntu Trusty armhf. T ...
- WP8.1 Study4:WP8.1中控件集合应用
1.AutoSuggestBox的应用 在xaml里代码可如下: <AutoSuggestBox Name="autobox" Header="suggestion ...
- SharePoint安全 - SharePoint网站常用页面URL索引
博客地址 http://blog.csdn.net/foxdave 一. 主要网站内容 首页 /default.aspx /Pages/default.aspx 网站设置 /_layouts/sett ...
- PHP笔记(一)
1. public 表示全局,类内部外部子类都可以访问:private表示私有的,只有本类内部可以使用:protected表示受保护的,只有本类或子类或父类中可以访问: 2. ==是包括变量值与类型完 ...
- Discuz 论坛的搭建(五)
配置discus论坛 1.下载discus论坛代码 2.解压缩到ApacheProject目录下 3.把discuz的upload文件copy到discuz文件夹下,然后删除upload文件夹 4.修 ...
- iOS App上架流程(2016详细版
http://www.jianshu.com/p/b1b77d804254 iOS App上传项目遇到的问题 http://www.jianshu.com/p/9195cd991fc7
- GSM短信侦听的便宜方案
侦听GSM短信常用的是OsmocomBB + C118方案,主要是用luca/gsmmap分支.使用ccch_scan这个程序可以把通信封装成GSMTAP发给本机,然后用WireShark接收GSMT ...