Oc 类方法为什么不能用self 求解?
当然可以用self了。如下代码:
@implementation UIView (Utils) + (void) someStaicMethod { [self animateWithDuration:0.1 animations:nil]; } @end
类方法中self指类本身。上述例子中self即UIView
self
UIView
self指代的是对象本身,对象是类的实例,类 ≠ 对象
一个类可以生出很多对象,如果在类方法中使用self,是想指代哪一个对象呢?
折叠我吧,oc里确实可以用self指代class本身,并且是多态的。
+ (id)new { return [[self alloc] init]; } NSArray * arr1 = [NSArray new]; // self 指代 NSArray NSMutableArray * arr2 = [NSMutableArray new]; // self指代 NSMutableArray
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
当然可以用self了。如下代码:
类方法中
self
指类本身。上述例子中self
即UIView
self指代的是对象本身,对象是类的实例,类 ≠ 对象
一个类可以生出很多对象,如果在类方法中使用self,是想指代哪一个对象呢?
折叠我吧,oc里确实可以用self指代class本身,并且是多态的。