zoukankan      html  css  js  c++  java
  • 使用父类的成员前需先实现该父类

    如果在一个类里实现了其父类的某个成员变量,则首先需要先实现该父类的对象,如:

    @interface Option : OAuthViewController

    ...

    @end


    而OAuthViewController类的声明如下:

    @interface OAuthViewController : UIViewController {

      OAuth *oAuth;

    }

    ...

    @end


    该Option类继承了OAuthViewController类,然后在Option类的某个方法中实现了oAuth的实例。

    然而,此时并没有对OAuthViewController初始化,因此程序也无法对oAuth初始化。此时对oAuth所做的一切操作都会导致程序异常

     

    解决方法:在Option类里手动初始化OAuthViewController类。

    通过调用OAuthViewController类的

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;

    方法,执行了初始化后程序运行一切正常。

    PS:一开始我在Option类里添加了init方法,在该方法中初始化OAuthViewController,然而在Option本身的初始化过程中并不会执行init方法,因此此方法不可用。所以我将OAuthViewController的初始化放入Option的ViewDidLoad中。
  • 相关阅读:
    【Nginx】开启 gzip和缓存
    webpack分离css单独打包
    【转】为什么Github没有记录你的Contributions
    Swiper使用遇到的问题
    Jenkins 自动化构建
    Pre标签 自动换行
    Gulp入门教程
    计数排序
    直接插入排序
    等差素数列
  • 原文地址:https://www.cnblogs.com/eagley/p/1740051.html
Copyright © 2011-2022 走看看