zoukankan      html  css  js  c++  java
  • OC之对象作为类的属性

     对象做为类的属性

    1. 一个Target中的类无法直接在另外1个Target中访问.

     2. 类的属性代表什么?

        

        a. 类的属性代表这类事物具有的共同的特征

        

        b. 类的属性代表这个类所拥有的东西.

         灯:

        属性: 形状 功率 价格  品牌 剩余寿命

        方法: 照明.

        音响: 

        方法: 发声音.

        门:

        属性: 尺寸 材料 颜色 价格

        方法: 开 关

     3. 类的方法代表什么?

        a. 代表这个类所具备的行为. 这个类所具备的功能.

        b. 一个类有什么方法 就去分析这个类有什么功能.

      4. 属性的本质是变量.

         在创建对象的时候,对象中的属性是按照类模板中的规定挨个挨个的创建出来的.

         类模板中属性是什么类型.那么对象中的属性就是什么类型.

         如果对象的属性是另外1个类的对象,这个属性仅仅是1个指针变量而已.并没有对象产生.

         这个时候 还要为这个属性赋值1个对象的地址 才可以正常使用.

      5. A类可以作为B类的属性. 代表B拥有A.

         属性仅仅是1个变量而已. 是1个指针变量而已.默认值是nil 并没有创建对象.

         如果要正常的使用的话. 还要为B对象的A属性赋值1个对象.

    异常处理

     1. 错误:

        1). 一般情况下,指的是我们的程序的源代码有语法错误.

        2). 错误的后果: 无法编译 更谈不上执行.

        2). 解决方案: 将错误的代码修改为符合语法规范的代码不就OK了.

     2. BUG

        1). 指的是,程序可以编译、链接、执行. 只不过程序执行出来的结果并不是所预设的那样.

        2). 解决方案: 99%的Bug都是因为变量的值没有按照所预想的那样去变化.

                     通过断点调试 去监视变量的值是如何变化的. 

                     分析为什么会乱变化. 这样就可以找到的BUG

     3. 异常

        1).概念:指的是,程序可以编译、链接、执行.

               当程序在运行的时候,程序处于某种特殊情况下的时候 程序的执行就会报错.

               这种情况叫做异常.

            特点: 异常不是一定会发生.而是当程序在运行的时候处于某种特定情况的时候才会发生.

        2).后果: 程序立即终止运行.后面的代码不会执行.

           闪退的原因:

           a. 程序所占用的空间太大. 

           b. 程序发生了异常

           .....

     4. 异常的处理.'

        1). 处理异常的目的: 希望程序在执行的时候,如果发生了异常. 程序不要崩溃,而是继续往下执行代码.

        2). 使用@try...@catch处理异常.

        3). 将有可能发生异常的代码使用@try围起来.

            

             

            @try

            {

                在执行的时候有可能会发生异常的代码;

            }

            @catch(NSException *ex)

            {

                

            }

        4). 执行步骤

            a. 如果@try中的代码在执行的时候,发生了异常. 这个时候程序不会崩溃.

               而是会立即跳转到@catch中执行代码. @catch中的代码执行完毕之后,再继续往下执行.

               如果@try中的代码在执行的时候,没有发生异常,这个时候就会跳过@catch 往下执行.

            

        5).作用: 让代码在执行的时候如果发生了异常 而不崩溃.

     5. 使用注意

        1). 在@try中的代码执行的时候,如果发生了异常.

            会将发生异常的信息.封装为1个 NSException 对象

            把这个对象的地址.赋值给@catch的参数.然后再执行@catch的代码.

            所以,@catch的参数指向了错误对象.

            在@catch中如果想要拿到发生异常的原因.就可以访问这个参数对象.

        2). @catch中的代码只有在发生异常的时候,才会执行.

            所以.@catch中一般我们写处理异常的代码.

        3). @catch后面还可以跟1个@finally代码块.

            无论@try中是否有异常发生.@finally中的代码都会被执行 .

        4). @try..@catch并不是万能的 不是所有的异常都可以处理.

            C语言的异常处理不了. 只能处理OC的异常.

        5). @try..@catch在我们的代码中很少使用.

            一般情况下都是 通过逻辑判断来减少异常的发生.

    不忘初心,方得始终
  • 相关阅读:
    使用ASP的优势和劣势
    rman的catalog命令
    sql exist和in的区别及查询效率比较
    zblog模板修改字体大小的教程
    js 刷新和关闭页面触发的事件 及操作COOKIE
    Flex走出低谷的关键: 打破Flex固有的定义
    服务网健康日志中 radio传值解决方案
    sql语句查询出表里的第二条、第三条记录(附加多个条件)
    鼠标经过超链接文字变色
    (asp.net)鼠标放上去的时候文本框的提示消失,鼠标离开又重新显示
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/6195649.html
Copyright © 2011-2022 走看看