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 ...
随机推荐
- K最近邻
k算法实现的步骤: 第一:确定K值(就是指最近邻居的个数).一般是一个奇数,因为测试样本个数有限, 第二:确定度量的长度,也就是余弦值,根据公式来算: 然后根据这个距离,排序大小,从中选出前k ...
- P121 6.7 第一题和第二题
package nothh; import java.util.Arrays; public class shuzu6_7 { public static void main(String[] arg ...
- Ubuntu: an error occurred while mounting /mnt/hgfs
对于这个error,我采用的一个不完美的方法是: vi /etc/fstab .host:/projectname /mnt/hgfs vmhgfs rw,ttl=,uid=my_uid,gid=my ...
- [开发笔记]-VS2012打开解决方案崩溃或点击项目崩溃
下午在使用VS2012建立Service服务项目时,只要一切换到设计视图页面中,VS就崩溃重启,从网上找了一种方法来解决,测试可行.但导致该问题的原因未知. 解决方案: 步骤1:开始-->所有程 ...
- 倍增 LCA
以NOIP2013提高组day1 最后一道题为例来学的倍增和lca.其实这套题早就做过了,倍增和lca也学过,只不过当时没有理解清楚,所以今天再次学了一遍,虽然没有时间编程序了,但是先把思路和做法在这 ...
- Linux-设置环境变量
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“ /opt/au1200_rm/build_tools/bin”目录下, ...
- AbstractMap学习记录
package java.util;import java.util.Map.Entry; /** * This class provides a skeletal implementation of ...
- Matlab:max函数
Matlab中max函数在矩阵中求函数大小的实例如下: C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的每一 ...
- @ResultMapping注解
@RequestMapping注解1.url映射放在方法上:@RequestMapping("/itemsEdit")2.窄化url请求映射放在类上,定义根路径,url就变成根路径 ...
- dom对象操作Html,Css
HTML: 1.不要再文档加载完使用document.write,这样会创建新的dom对象,原来的元素将被覆盖. 2.获取元素,通过getElementbyID; getElementbyTag(&q ...