zoukankan      html  css  js  c++  java
  • 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.协议是对类的实现进行规约的一套标准,可以保证多个承诺实现协议的类的接口一致性。

  • 相关阅读:
    35个Java代码优化的细节,你知道几个?
    Java如何优雅地实现接口数据校验
    Java中方法的重载详解(含系统配套视频)
    七大经典、常用排序算法的原理、Java 实现以及算法分析
    Java静态方法和实例方法
    Java静态变量和实例变量
    “反转链表”相关的题目
    【C++】将十进制数转换为十六进制数
    第四章:动态规划I
    【C++】数组中的第k个最小元素
  • 原文地址:https://www.cnblogs.com/123qw/p/4375233.html
Copyright © 2011-2022 走看看