Objective-C /中排水,释放,dealloc和保留之间的差异

sus*_*use 6 memory-management objective-c

您好我想知道在Objective-C中排水,释放,dealloc和保留之间的区别.

Lou*_*arg 23

  • retain 增加对象的引用计数
  • release 减少对象的引用
  • drain由于与Objective C垃圾收集相关的一些奥秘,因此用于NSAutoreleasePool对象的释放
  • dealloc一旦对象的retainCount达到0,系统就会调用它.这是你清理对象所具有的各种东西的地方(比如解构器或终结器).你应该永远不会直接调用它,除了调用[super dealloc]你的最后dealloc程序.

你真的应该阅读Apple的内存管理文档.