在我的一个项目中,我有一个非常复杂的数据模型。 我需要一种方法来确保我或其他同事不会创建任何保留周期,并且我想使用自动化方法。
有一种方法可以确保调用所有“dealloc”方法吗?
答案 0 :(得分:0)
您可以尝试静态分析器(来自菜单:产品 - 分析或短信Shift+CMD+B
)。或者您创建单元测试https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/UnitTestYourApp/UnitTestYourApp.html并检查对象retainCount
泄漏工具也可能有所帮助:http://www.raywenderlich.com/2696/instruments-tutorial-for-ios-how-to-debug-memory-leaks,https://developer.apple.com/library/mac/documentation/developertools/conceptual/instrumentsuserguide/MemoryManagementforYouriOSApp/MemoryManagementforYouriOSApp.html
答案 1 :(得分:0)
你无法自动测试这些东西。你可以做的事情:
self
时要小心(知道何时使用__weak id self
)。 Instruments
并在应用程序运行时检查泄漏 答案 2 :(得分:0)
如果你想这样做,你需要设计&自己编程。
例如你可以:
现在在开发期间的适当位置进行测试&检查是否意外引入循环。
你可能能够通过使用运行时的工具在没有协议的情况下实现这一点,你当然可以给任意实例发现它的ivars以及ivar是否是对象引用。虽然确定ivar是强还是弱,但你可能会陷入困境。虽然更普遍,但这可能更难实施,但一旦完成......
HTH