objective-C 编程全解-第08章 类NSObject和运行时系统 中 下

编程知识 更新时间:2023-05-02 19:05:55

08 NSObject和运行时系统 中下

8.2.4 self进行赋值

    在定义初始化方法时,用父类初始化方法的返回值对self进行赋值并判断其不为nil是一种更安全的做法,因为:父类的初始化可能会失败;父类的初始化方法也有可能并没有返回self而是返回了其他对象。一个典型的例子是,由类簇(class cluster)构成的类在初始化方法中就没有返回self。

    在ARC中,如果初始化时返回的self没有被用到,会报错。同样在非初始化中给self赋值也会报错:

        - (MyTestStruct)structTestFunc 

        {

            NSString *str1 = @"123456";

            self = str1;//Cannot assign to 'self' outside of a method in the init family.

            ……..

        }

        - (instancetype)init

        {

            [super init]; //The result of a delegate init call must be immediately returned or assigned to 'self';

            return self;

        }


8.2.5 发送消息的速度

8.2.6 类对象和根类

    因为类对象也是也个一个对象,所以类对象可以作为根类NSObject的某个子类的对象来使用。如下面的语句会返回YES:

        [[NSString class] isKindOfClass:[NSObject class]]

8.2.7 Target-action paradigm

    目标-动作模式(target-action paradigm)

    动作方法(action method)

8.2.8 Xcode中的动作方法和Outlet的写法

    ARC环境下,对于Outlet的属性声明,建议使用weak:

    @property (weak)IBOutlet NSButton *okButton;

更多推荐

objective-C 编程全解-第08章 类NSObject和运行时系统 中 下

本文发布于:2023-04-28 04:37:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/bbe5eb188ad30f3e792b5dddf017e7ed.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:系统   objective   NSObject

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 107672文章数
  • 27233阅读数
  • 0评论数