《OC疯狂讲义》笔记(二)
来源:互联网 发布:db2 查看数据库编码 编辑:程序博客网 时间:2024/06/06 05:37
1、NSString的使用
C的字符串保存:1)字符数组 2)字符串的指针
OC中又专门的字符串处理的类(有字符串类型)
NSString 不可变的字符串
NSMutableString 可变字符串
NSString 是OC字符串的类
1) NSString保存字符串
NSString *str = @"abc"; //用str保存字符串常量
创建空字符串
NSString *str = [NSString new];
str = @"xxxx";
格式化字符串(拼接)
stringWithFormat
字符串连接
NSString *str1="itcast";
NSString *str2 = [NSString stringWithForamt:@"welcome to %@",str1]; // welcome to itcast
字符的拼装
NSString *str3 = [[NSString alloc] initWithFormat:@"welcome %d,%f",20,2.3f]; // welcome 10,2.300000
NSString *str4 = @"welcome 10,2.300000";
2)计算NSString的字符串的长度
[str length];
1) 纯英文
NSString *str5 = @"abc"; // 3
2)纯中文
//UTF-8 国际通用编码3 GB2312 国内标准2 GBK
NSString *str6 = @"传智播客"; //4
char *str7 = "传智播客"; //12
3)中英文混合
NSString *str6 = @"传智播客xy"; //6
2、对象和方法之间的关系
(1)对象作为方法的参数
Person *p = [Person new];
Person *p1 = [Person new];
-(void)test:(Person *) person;
[p test:p1];
//p1 -----> person
(2)对象作为方法的返回值
-(Person *)test1{
//p3 0x40
Person *p3 = [Person new];
p3->_name = @"zhe";
return p3;
}
//p4 0x40
Person *p4 = [p test1];
3、对象作为方法的参数,连续传递
1)枪作为方法的参数
-(void)fireByGun:(Gun*) gun;
-(void)fireByGun:(Gun*) gun{
[gun shoot];
}
2)增加了 子弹的类
-(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet;
-(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet{
[gun shoot:bullet];
}
//枪的方法
-(void)shoot:(Bullet *)bullet;
-(void)shoot:(Bullet *)bullet{
bullet->_bulletCount --;
}
4、多文件开发
什么是多文件开发?
C的模块化开发: 把功能相似的函数,写到同一个文件中
.h 函数声明
.c 函数的实现
OC 模块化开发: 把功能不同的类放到不同的文件中
.h 类的声明
.m 类的实现 (方法的实现)
多文件开发的好处:提高代码的可读性
如何进行多文件:
1)new ---> new File ---> Header file(.h)
---> Objective-C file (.m)
Person.h
规范: 1) @interface Person :NSObject
2) #import <Foundation/Foundation.h>
Person.m
3)#import "Person.h" (new Cocoa Class 会自动写这句话)
@implmentation Person
@end
2) new ----> new File ----> Cocoa Class (同时创建.h 和 .m)
C的字符串保存:1)字符数组 2)字符串的指针
OC中又专门的字符串处理的类(有字符串类型)
NSString 不可变的字符串
NSMutableString 可变字符串
NSString 是OC字符串的类
1) NSString保存字符串
NSString *str = @"abc"; //用str保存字符串常量
创建空字符串
NSString *str = [NSString new];
str = @"xxxx";
格式化字符串(拼接)
stringWithFormat
字符串连接
NSString *str1="itcast";
NSString *str2 = [NSString stringWithForamt:@"welcome to %@",str1]; // welcome to itcast
字符的拼装
NSString *str3 = [[NSString alloc] initWithFormat:@"welcome %d,%f",20,2.3f]; // welcome 10,2.300000
NSString *str4 = @"welcome 10,2.300000";
2)计算NSString的字符串的长度
[str length];
1) 纯英文
NSString *str5 = @"abc"; // 3
2)纯中文
//UTF-8 国际通用编码3 GB2312 国内标准2 GBK
NSString *str6 = @"传智播客"; //4
char *str7 = "传智播客"; //12
3)中英文混合
NSString *str6 = @"传智播客xy"; //6
2、对象和方法之间的关系
(1)对象作为方法的参数
Person *p = [Person new];
Person *p1 = [Person new];
-(void)test:(Person *) person;
[p test:p1];
//p1 -----> person
(2)对象作为方法的返回值
-(Person *)test1{
//p3 0x40
Person *p3 = [Person new];
p3->_name = @"zhe";
return p3;
}
//p4 0x40
Person *p4 = [p test1];
3、对象作为方法的参数,连续传递
1)枪作为方法的参数
-(void)fireByGun:(Gun*) gun;
-(void)fireByGun:(Gun*) gun{
[gun shoot];
}
2)增加了 子弹的类
-(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet;
-(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet{
[gun shoot:bullet];
}
//枪的方法
-(void)shoot:(Bullet *)bullet;
-(void)shoot:(Bullet *)bullet{
bullet->_bulletCount --;
}
4、多文件开发
什么是多文件开发?
C的模块化开发: 把功能相似的函数,写到同一个文件中
.h 函数声明
.c 函数的实现
OC 模块化开发: 把功能不同的类放到不同的文件中
.h 类的声明
.m 类的实现 (方法的实现)
多文件开发的好处:提高代码的可读性
如何进行多文件:
1)new ---> new File ---> Header file(.h)
---> Objective-C file (.m)
Person.h
规范: 1) @interface Person :NSObject
2) #import <Foundation/Foundation.h>
Person.m
3)#import "Person.h" (new Cocoa Class 会自动写这句话)
@implmentation Person
@end
2) new ----> new File ----> Cocoa Class (同时创建.h 和 .m)
1 0
- 《OC疯狂讲义》笔记(二)
- 《OC疯狂讲义》笔记(一)
- 《OC疯狂讲义》笔记(三)
- 《OC疯狂讲义》笔记(四)
- 《OC疯狂讲义》笔记(五)
- OC语言疯狂讲义学习笔记
- 《疯狂Android讲义》学习笔记二
- 读《疯狂Java讲义》笔记总结二
- 疯狂Java讲义之内部类(二)
- 李刚java疯狂讲义(笔记)
- 《疯狂JAVA讲义》学习笔记(一)
- 学习java疯狂讲义笔记(连载)
- JAVA疯狂讲义笔记(一)
- <疯狂Andorid讲义> 阅读笔记(1)
- <疯狂Android讲义>阅读笔记(2)
- <疯狂Android讲义>阅读笔记(3)
- <疯狂Android讲义>阅读笔记(4)
- <疯狂Android讲义>阅读笔记(5)
- C# 常识之键盘对应ASCII码
- c#产生指定区间的随机数
- iOS开发-小白进阶-iOS中的类
- 鲜为人知的编程真相
- poj1637 Sightseeing tour (混合图欧拉回路)
- 《OC疯狂讲义》笔记(二)
- 1156. Binary tree 二叉树找根方法
- 具有返回值得函数遇到ruturn
- 1027.Colors in Mars
- CentOS 7 系统盘符挂载NTFS分区
- APP启动页,判断是否是第一次打开,带滑动页动画
- 1028.List Sorting
- Android Studio使用git(以oschina git为例)
- 《OC疯狂讲义》笔记(三)