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

  • 相关阅读:
    iOS开发实用干货——强化你的Xcode控制台
    Android App 性能优化实践
    AFNetworking 之于 https 认证
    点击 Run 之后发生了什么?
    happypack 原理解析
    JavaScript 笔记 ( Prototype )
    成立快两年的安卓绿色联盟,现在怎么样了?
    盘点20款主流应用FPS,最Skr帧率测试方法都在这里!
    探寻百度AI3.0背后的技术实践
    流畅购物哪家强?购物类应用“页面过度绘制”情况调查
  • 原文地址:https://www.cnblogs.com/123qw/p/4375233.html
Copyright © 2011-2022 走看看