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开头,有返回值。

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

iOS学习笔记---oc语言第四天

时间: 2024-12-21 20:16:07

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

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

字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key-value对)的数据 对于“name:张三”来讲,key就是“name”,key对应的value是“张 三” 一个key-value对认为是一个元素(实体),字典是存储key-value对 的容器. 特点: 与数组不同,数组靠下标存取数据,数组的下标是唯一的. 字典靠key存取元素.key不能重复,

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

继承.初始化方法 一.继承 继承的上层:父类  继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量也继承过来了,只是不能访问) 面向对象提供了继承语法.能大大简化代码,把公共的方法和实例对象写在父类里.子类只需要写自己独有的实例变量和方法即可 继承既能保证类的完整,又能简化代码 继承特点 oc中只允许单继承 没有父类的类称为根类,oc中得根类是NSObject(祖宗) 继承的内容:所有的实例变量

IOS学习笔记---C语言第四天

1 //?生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外?一个数组中 2 #import <Foundation/Foundation.h> 3 4 int main(int argc, const char * argv[]) 5 { 6 7 int num1[10]={0},num2[10]={0},num3[10]={0}; 8 for (int i = 0; i<10; i++) { 9 num1[i]=arc4random()%2

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

Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语?中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函数声明,即函数原型.例如:int sum(int x,int y);具有两个整型参 数,一个整型返回值的函数. 函数定义,即函数实现.例如:int sum(int x,int y){     retrun x + y;     } 回顾函数指针 函数指针(变量):存放函数地址(函数名)的指针变量.

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

实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc  注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- (void)sayHi iOS学习笔记---oc语言第二天

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

类的扩展 NSDate是Cocoa中用于处理日期和时间的基础类,封装了某一给定的时刻,具体的日期 时间和时区 使用+date方法获取当前日期和时间 1 NSDate *date = [NSDate date];//获取当前时间 2 NSLog(@"%@",date);//无论你是哪个时区的时间,打印的总是o时区的时间 3 NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:60*60*8];//从现在开始之后的时间 4 NSLog(

ios学习笔记---c语言第二天

一.bool布尔类型    c语言没有bool类型,oc里有bool类型 是一种非真即假的数据类型,布尔类型的变量只有yes和no两个值.yes表示表达式是真,no表示表达式是假. 在c语言中认为非0即为真. 分支语句中常用bool值做判断,判断执行if语句还是else语句. 循环结构中,也常使用bool值做判断,判断是否要执行循环. 注意事项: #define yes 1 #define no 0 计算机在识别时,yes就替换成1,no就替换成0. 二.关系运算符 >   >=   <

iOS学习笔记---c语言学习第七天

结构体 结构体是一种自定义的数据类型 struct 结构体名 { 类型说明符  成员名: … 类型说明符  成员名: }: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { struct teacher{ char name[30]; char sex; int age; char course[30]; }; typedef struct teacher Teacher; Teacher c

iOS学习笔记---c语言第十一天

函数指针 一.函数指针定义 //函数声明:声明我是一个什么函数 //求两个数的和 //函数的类型:int (int x,int y) //即:我是一个返回值为整型,有两个整型参数的函数. //函数名是 sum int sum(int x,int y); 函数指针定义p是变量,其他是类型(通常没有形参a,b) //函数指针类型 int (*)(int x,int y) //描述:指向 返回值为 int 两个int参数 的 指针类型 //函数指针变量: p //初始值 : sum printf("%