小编Nic*_*ick的帖子

如何使用self创建对象?

我以为我在引用当前类中的任何内容时理解了self的用法.在遇到这个警告和随后的运行失败之后,我搜索了许多"定义自我"或"使用自我"的变种并且无处可去.这个问题是如何在没有警告的情况下创建对象,并了解原因.

#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    
Run Code Online (Sandbox Code Playgroud)

请注意,如果我取代Fooself,没有任何问题.我认为类名和self是等价的,但显然编译器并不这么认为.

  1. 或许解释这里的错误不仅可以解决我的问题,还可以启发我对其使用的理解self.

  2. 是否有关于正确使用自我的任何教程?我找不到任何东西,比如" self是信息的接收者",这根本没有帮助我.

objective-c

2
推荐指数
1
解决办法
226
查看次数

标签 统计

objective-c ×1