Heim  >  Fragen und Antworten  >  Hauptteil

objective-c - 关于iOS内存管理的问题

@autoreleasepool {
    NSObject *obj = [[NSObject alloc] init];
}

以上代码在ARC模式下,obj对该对象有强引用,一旦出了这个作用域,强引用失效,对象被销毁。
同时该对象又被注册到autoreleasepool中,因为出了autoreleasepool的作用域,对象岂不是又要销毁一次???

PHP中文网PHP中文网2741 Tage vor401

Antworte allen(1)Ich werde antworten

  • 怪我咯

    怪我咯2017-04-18 09:42:57

    obj的作用域就是自动释放池的作用域,不会有两次的,加了@autoreleasepool之后,对象就放到了释放池中

    Antwort
    0
  • StornierenAntwort