• objective-C基本知识


    预编译指令

     1.自己写的头文件最好用双引号,而系统自带的可以用尖括号。

    *************************************************

    点语法

      p.age= 10;

         1.不是访问age成员变量,而是调用其方法

         2.其他的很多编程语言都有点语法,为了其他编程的程序员可以快速掌握oc,从而添加了点语法

         3.编译器在遇到点语法的时候,会自动将之转化为:[p setAge:10];

         4.故点语法的本质还是调用方法,而不是访问成员变量(访问成员变量就一种:通过箭头)。

    *******************************************

    isa指针

    在OC中,对于每个实例对象,其中都会有一个isa指针,isa= is a,同一个类创建出来的对象的isa指针是一样的。

    它的作用是告诉对象它是哪个类以及它的父类是谁。

    这个指针只有在程序运行的时候才看得见(在调试模式的具体对象处能够找到)。

    *******************************************

    import和include的区别:

      import关键字会对重复引用的文件进行自动省略,而include不会。所以,import能够避免碰到“常见但定位麻烦的重复引用头文件错误”。

      在OC中,我们一般使用import来引用其他头文件。

    **********************************

    关键字

    “@”符号:在OC中表示关键字。

    @interface:类声明的开始。

    @implementation:类实现的开始。

    @end:类声明或者类实现的结束。

    夹在@interface和@end之间的即为类的声明,而夹在@implementation和@end之间的即为类的实现。

    **************************

    在OC中,self表示对象自己,它和C++中的this含义相近。super表示父类对象。

    ************************

    继承和重写

    类库之间的继承:

    cocoa的框架中,大部分的类库都是继承自NSObject,而类库之间还存在各种各样的父子关系,比如所有的控件类(UIControl、NSControl)都是继承自响应者类(UIResponder、NSResponder);所有的多功能视图(tableview/scrollview/webview等)都是继承自视图类(UIView、NSView)等。如果我们想找类库的继承关系,我们可以在开发文档中找到。

    ************************

    分类(Category)

    ************************

    协议(Protocols)和代理(Delegation)

    1.代理的引入真正意义上完全实现MVC的程序结构框架。

    2.协议是对类的实现进行规约的一套标准,可以保证多个承诺实现协议的类的接口一致性。

  • 相关阅读:
    Oracle 列顺序测试
    Java基于Servlet过虑器
    Java基于Servlet 验证吗
    WCF实例上下文
    WCF的行为与异常-------配置文件说明
    WCF异步
    WCF的通信
    分布式架构剖析
    [loj2542]「PKUWC2018」随机游走——min-max容斥+树上高消
    [bzoj4589]Hard Nim——SG函数+FWT
  • 原文地址:https://www.cnblogs.com/123qw/p/4375233.html
Copyright © 2020-2023  润新知