我可以在启用 ARC 的项目中代替 self 的等效关键字是什么?例如:-[self mymethod];
此方法调用的 ARC 等价物是什么?
问问题
149 次
3 回答
5
我不太明白?为什么 ARC 应该有不同的方法调用语法?它是一种自动内存管理,在大多数情况下您不需要使用保留/释放,仅此而已。所以它看起来像这样:
[self mymethod];
于 2012-06-25T10:08:13.240 回答
1
在 ARC(Automatic Reference Counting) 中,你不需要释放或保留。它与调用方法无关!
ARC - Automatic Reference Counting 实现了 Objective-C 对象和块的自动内存管理,将程序员从显式插入保留和释放的需要中解放出来。由于这是在编译时处理的,因此不需要收集器进程不断清除内存并删除未引用的对象。
为了调用一个方法,你仍然这样做:[self mymethod];
于 2012-06-25T10:09:49.800 回答
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
希望这有帮助
于 2012-06-25T10:14:25.187 回答