2
我以为在理解当前课程中的任何东西的同时,我理解了自我的使用。在遇到这个警告和随后的运行失败之后,我搜索了很多“定义自我”或“自我使用”的变体,并且无处可寻。这个问题是如何创建一个没有警告的对象,并理解为什么。如何使用自己创建对象?
#import <Cocoa/Cocoa.h>
@interface Foo : NSObject {
Foo *obj;
}
-(void)beta;
@end
#import "Foo.h"
@implementation Foo
-(void)beta{
obj = [self new]; // 'Foo' may not respond to '-new'
}
@end
注意,如果我代替Foo
为self
,没有任何问题。我认为课程名称和自我是等价的,但显然编译器并不这么认为。
也许有什么错在这里不仅可以解决我的问题,但也开导我的
self
用法的理解的解释。有没有关于正确使用自我的任何教程?除了“
self
是消息的接收者”之外,我找不到任何东西,这对我毫无帮助。
+1很好的解释 – 2010-12-22 23:31:35