在启用ARC的项目中,我可以在self中使用的等效关键字是什么?
例如: - [self mymethod];
什么是ARC等效的这种方法调用?
答案 0 :(得分:5)
我不太明白吗?为什么ARC应该有不同的方法调用语法?它是一种自动内存管理,在大多数情况下,您不需要使用保留/释放,仅此而已。所以它看起来像这样:
[self mymethod];
答案 1 :(得分:1)
在ARC(自动参考计数)中,您无需释放或保留。它与调用方法无关!
ARC - 自动引用计数实现了Objective-C对象和块的自动内存管理,使程序员免于明确插入保留和释放的需要。由于这是在编译时处理的,因此不需要收集器进程来持续清除内存并删除未引用的对象。
要调用方法,您仍然可以这样做:[self mymethod];
答案 2 :(得分:0)
它仍然是相同的
[self myMethod];
但是在ARC环境中,IIRC,你需要这样做:(我不知道这是否是你的问题的来源,但是当我第一次迁移到ARC时,如果我'我得到编译错误我不这样做。)
@interface myController()
- (void)myMethod; // you need to declare the method here, if you haven't declared it on the .h
@end
@implementation
- (void)viewDidLoad
{
[super viewDidLoad];
[self myMethod];
}
- (void)myMethod
{
NSLog(@"!");
}
@end
希望这个帮助