当前位置:  开发笔记 > 编程语言 > 正文

如何在iPhone上初始化NSObject的子类?

如何解决《如何在iPhone上初始化NSObject的子类?》经验,为你挑选了1个好方法。

我想在类中编写一些方法,以便其他类可以使用调用这些方法[instance methodName:Parameter].

如果类是其子类UIViewController,我可以用initWithNibName它来初始化它.但我想在NSObject的子类中编写方法,我该如何初始化它?



1> Jane Sales..:

iphony是正确的,但他或她并没有说你需要自己编写init方法.你的init方法通常应该是这样的:

- (id) init
    {
    if (self = [super init])
         {
         myMember1 = 0; // do your own initialisation here
         myMember2 = 0;
         }
    return self;
    }

虽然苹果文档说

NSObject类中定义的init方法不进行初始化; 它只是回归自我.

一个人可能只想写作

- (id) init
  {
    myMember1 = 0; // do your own initialisation here
    myMember2 = 0;
    return self;
  }

这是错误的,不遵循文档中明确说明的内容:

在此(init)方法的自定义实现中,您必须调用super的指定初始化程序,然后初始化并返回新对象.

必须.不应该,也不应该,等等.

您不应该假设NSObject的init在将来不会改变; 也不是自定义类派生的超类.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有