-
对象的存储细节
对象的创建:
Student 类
[Student new];
1)申请存储空间
2)给类的成员变量初始化(基本数据类型 0 ,NSString null)
3)返回申请的内存空间的首地址( 8个)
//1)创建了一个Student 类型的 指针变量 stu
//2)使用Student类创建了一个对象 stu
Student *stu = [Student new];
sizeof(stu); //8 -
对象方法和函数之间的区别
对象方法有归属,方法是属于某一个对象
每个对象只能调用自己对象方法
所有函数都是平行的
只要先声明函数,我可以在任何函数中调用其他函数 -
创建类的时候,常见的错误
调用了一个 只是定义而没有实现的方法,会报错! -
对象和方法之间的关系
(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]; -
对象作为方法的参数,连续传递
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 --;
} -
NSString的使用
C的字符串保存:1)字符数组 2)字符串的指针
OC中又专门的字符串处理的类(有字符串类型)
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 -
多文件开发
什么是多文件开发?
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 会自动写这句话)
黑马程序员--IOS基础第十七天(OC)
最新推荐文章于 2020-07-18 20:45:37 发布