zoukankan      html  css  js  c++  java
  • OC概念补充(结构体作为对象属性、多文件开发)

    description方法

    问题1:使用%@打印一个对象,输出的是什么内容?%@的原理是什么?

    答:

    • %@是用来打印对象的, description方法默认返回对象的描述信息(默认实现是返回类名和对象的内存地址). 其实%@的本质是用于打印字符串.
    • 只要利用%@打印某个对象, 系统内部默认就会调用父类的description方法 调用该方法, 该方法会返回一个字符串, 字符串的默认格式 <类的名称: 对象的地址>

    问题2:重写description方法注意点?

    答:

    • 如果在description方法中利用%@输出self会造成死循环
    • 建议: 在description方法中尽量不要使用self来获取成员变量 因为如果你经常在description方法中使用self, 可能已不小心就写成了 %@, self

    问题1:OC中%@ 是做什么用的?

    答:输出OC的字符串使用%@, %@就专门用于输出对象类型的

    问题2:如何计算字符串的长度?

    答:OC中调用length方法,计算字符的个数, 而不是占用的字节数

    结构体作为对象属性

    问题:如何将作为属性的结构体进行初始化?

    答:

    typedef struct {
        int year;
        int month;
        int day;
    } Date;

    结构体作为对象属性
    //方法一:强制转换
    stu->_birthday = (Date){1986, 1, 15};

    //方法二:定义一个新的结构体,给d赋值,将d赋值给_birthday
    Date d = {1986, 1, 15};
    stu->_birthday = d;

    //方法三:分别赋值
    stu->_birthday.year = 1986;
    stu->_birthday.month = 1;
    stu->_birthday.day = 15;

    OC多文件开发

    问题1:为什么要使用多文件?

    答:

    一个iOS项目可能会有多个人开发,如果多个人同时修改一个文件,那么就很可能会产生冲突,比如这个增加一个方法,那个人把这方法删掉了。另外就是当把多个人写功能合并起来的时候,也非常困难,写到一个文件中,无法顺畅的进行团队合作

    问题2:OC中如何进行多文件开发?

    答:

    • 在工作中,通常把不同的类放到不同的文件中,每个类的声明和实现分开
    • 声明写在.h头文件中,
    • 实现写在相应的.m文件中去,
    • 类名是什么,文件名就是什么

    问题3:使用多文件开发有什么好处?

    答:

    • 显著提高团队协作的效率
    • 提高程序的开发速度
    • 提高程序的可维护性
    • 提高代码的可读性

    匿名对象

    问题1:什么是匿名的对象?匿名对象和之前所用的对象有什么区别?

    答:匿名就是没有名字, 匿名对象就是没有名字的对象.

    1. 有名字的对象
      // 只要用一个指针保存了某个对象的地址, 我们就可以称这个指针为某个对象
      // 称p为Person对象
      Person *p =[Person new];
      p->_age = 30;
      p->_name= @"lnj";
      [p say];
    2. 没有名字的对象
      // 无论有没有名字, 只要调用new方法都会返回对象的地址
      // 每次new都会新开辟一块存储空间
      [Person new]->_age = 30;
      [Person new]->_name = @"LMJ";
      [[Person new] say];

    问题2:匿名对象应用场景?

    答:

    1. 当对象只需要使用一次的时候就可以使用匿名对象
    2. 匿名对象可以作为方法的参数(实参)
  • 相关阅读:
    T2038 香甜的黄油 codevs
    缓冲区溢出分析第08课:MS06-040漏洞研究——动态调试
    缓冲区溢出分析第07课:MS06-040漏洞研究——静态分析
    Android最新敲诈者病毒分析及解锁(11月版)
    Android敲诈者病毒“安卓性能激活”分析(2015年9月版)
    Android最新敲诈者病毒分析及解锁
    APK程序Dex文件无源码调试方法讨论
    一个DDOS木马后门病毒的分析
    IDA动态调试Android的DEX文件
    一枚Android "短信小偷" 病毒的分析
  • 原文地址:https://www.cnblogs.com/dreamWanweidong/p/4997894.html
Copyright © 2011-2022 走看看