嘿 我是编程新手我想知道它为什么总是[自我方法];?我的意思是为什么有这样一个人可以解释我为什么它是自我和后台发生的事情?对不起,如果这是一个愚蠢的问题
感谢, TC
答案 0 :(得分:3)
基本上,self
引用的是您当前在上下文中的对象。 [self somemethod]
表示您在somemethod
初始化为的类中调用名为self
的方法。
例如,如果您要做这样的事情:
Foo *f = [[Foo alloc]init];
[f someMethod];
您将在someMethod
实例上调用Foo
。
但是如果你在类Foo
内部工作,则self作为当前对象的显式引用。在这种情况下,您只需使用[self someMethod]
来调用someMethod
。
-(id) init {
if (self = [super init]) {
[self someMethod];
}
...
}
-(void) someMethod { }
这有帮助吗?
答案 1 :(得分:0)
因为[self method];
调用了调用它的类中的-method
方法。
答案 2 :(得分:0)
[self method]调用调用类的方法。例如,在您的类的头文件中,
@interface YourClass:NSObject {
}
- (void)myMethod;
然后,您可以使用[self myMethod]在YourClass中调用'myMethod'。它有意义吗?
答案 3 :(得分:0)
如果你想在ObjC杀死约翰:
[john sendBullet]
如果你发送邮件to myself
(不久自己),那就是自杀
[self sendBullet]
有所不同? :)