目标C ARC相当于自我?

时间:2012-06-25 10:04:51

标签: iphone objective-c ios automatic-ref-counting xcode4.3

在启用ARC的项目中,我可以在self中使用的等效关键字是什么? 例如: - [self mymethod];什么是ARC等效的这种方法调用?

3 个答案:

答案 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

希望这个帮助