我在应用程序启动时创建了一个全局对象并设置了一些全局属性。 我稍后从 ViewController 引用这些属性之一。有时还好,有时整个应用程序崩溃。
我如何告诉 ARC 不要自动释放我的对象?
#import "Global.h"
#import "GeneralHelper.h"
@implementation Global
@synthesize orangeClr;
Global* glob;
+(void) AppInit
{
glob = [[Global alloc] init];
[glob setStyles];
}
-(void) setStyles
{
orangeClr = [GeneralHelper colorFromRGBA:255 :102 :0 :1];
}
+(Global*) get { return glob; }
@end
最佳答案
使用单分派(dispatch)编写单例的另一种方法:
+(Global *)sharedManager {
static dispatch_once_t pred;
static Global *shared = nil;
dispatch_once(&pred, ^{
shared = [[Global alloc] init];
});
return shared;
}
关于iphone - Objective-c ARC 自动释放我的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12102171/