我可以在启用 ARC 的项目中代替 self 的等效关键字是什么?例如:-[self mymethod];  此方法调用的 ARC 等价物是什么?
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   回答