黑马程序员--IOS基础第十七天(OC)


  1. 对象的存储细节
    对象的创建:
    Student

    [Student new];
    1)
    申请存储空间
    2)
    给类的成员变量初始化(基本数据类型 0 ,NSString null
    3)
    返回申请的内存空间的首地址( 8个)
    //1
    )创建了一个Student 类型的 指针变量 stu
    //2
    )使用Student类创建了一个对象 stu
    Student *stu = [Student new];
    sizeof(stu); //8

  2. 对象方法和函数之间的区别
    对象方法有归属,方法是属于某一个对象
    每个对象只能调用自己对象方法
    所有函数都是平行的
    只要先声明函数,我可以在任何函数中调用其他函数

  3. 创建类的时候,常见的错误
    调用了一个 只是定义而没有实现的方法,会报错!

  4. 对象和方法之间的关系
    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];

  5. 对象作为方法的参数,连续传递
    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 --;
    }


  6. 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


  7. 多文件开发
    什么是多文件开发?
    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 会自动写这句话)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值