我刚刚下载了 Facebook iOS SDK我注意到在 SDK 附带的示例代码中,每当它创建 Facebook 类的实例时,它都会这样做:
_facebook = [[[[Facebook alloc] init] autorelease] retain];
其中 _facebook
是调用对象的成员变量(即不是局部变量)。
谁能准确解释自动释放然后保留它的意义是什么?
最佳答案
除了消耗一些周期和内存之外,它实际上什么也没做。
或者,更准确地说,在正确编写的应用程序中,它什么都不做。在编写错误的应用程序中,它可能会通过延长 _facebook
对象的生命周期来掩盖错误。但是,这并不是真正的修复。
我在 http://github.com/facebook/facebook-ios-sdk/blob/master/sample/DemoApp/Classes/DemoAppViewController.m 中找到了类似的代码行如果这就是您所指的,那么,是的,这是胡说八道。
关于iphone - 'myObj = [[[[MyClass alloc] init] autorelease] retain];' 的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612763/