美文网首页iOS OC 学习手册
类方法以及self注意点

类方法以及self注意点

作者: oneofai | 来源:发表于2016-08-20 23:04 被阅读43次

OC里面既有对象(实例)方法也有类方法。从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方法有的时候被称为静态方法。

注意点一:类方法
1,类方法可以调用类方法。
2,类方法不可以调用对象(实例)方法,但是类方法可以通过创建对象来访问对象(实例)方法。
3,类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量。
4,类方法作为消息,可以被发送到类或者对象里面去(实际上,就是可以通过类或者对象调用类方法的意思)。

注意点二:self的规则
1,对象(实例)方法里面的self,是对象的首地址。
2,类方法里面的self,是Class.
尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。

类方法创造的对象不需要使用release释放,因为这个对象被放到自动释放池中。

OC中的私有方法和私有成员变量

成员变量默认对内是共有的,对外是私有的。

@interface Controller : NSObject
{
@private:    NSString *something;
}
+ (void)thisIsAStaticMethod;
- (void)thisIsAnInstanceMethod;
@end

@interface Controller (Private)
- (void)thisIsAPrivateMethod;
@end

获取私有变量(#import <objc/runtime.h>):

NSString *str;
Mobj *obj = [[Mobj alloc] init];
object_getInstanceVariable(obj, "mt_", (void *)&str);
NSLog(@"%@",str);
[obj release];

相关文章

  • 类方法以及self注意点

    OC里面既有对象(实例)方法也有类方法。从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方法有的时...

  • OC第三部分

    本篇博客的主要知识点是: 30类方法的封装 31类方法练习 32self的用法 33self练习 34self注意...

  • 1.5 Self关键字

    本小节知识点: 类方法中的self 对象方法中的self 全局变量成员变量局部变量 self总结 self使用注意...

  • 在Objective-C中self关键字到底是什么

    在实例方法中Self指代本类的实例对象。在类方法中Self指代类对象 上面就是结论,注意一下类的实例对象和类对象(...

  • 单继承

    父类.方法(self,*args)和super(父类名,self).方法 当super(父类名,self).方法 ...

  • 获取类名

    获取类名类方法中 用self 对象方法object_getClass(self)==self.dynamicTyp...

  • oc 中 self 、super 的使用

    self 对象方法中的 self 是当前对象,可以访问属性和方法,不能访问类方法类方法中的 self 是类在代码段...

  • 2018-10-18类和方法

    注意以下用法 一、对象方法、类方法和静态方法 1、对象方法 直接声明在类中 自带一个参数self 通过对象来调用 ...

  • Objective-C 类方法中使用self注意事项

    在类(实例)方法中使用self调用方法 在实例方法中self【可以】调用实例方法(最常见)self【不可以】调用类...

  • 点语法 self

    点语法 注意点 一般用于成员变量赋值一般情况下不建议使用 lf注意点1.self会自动识别当前调用的是类方法还是对...

网友评论

    本文标题:类方法以及self注意点

    本文链接:https://www.haomeiwen.com/subject/sybisttx.html