iphone - Objective-c ARC 自动释放我的对象

标签 iphone objective-c ios

我在应用程序启动时创建了一个全局对象并设置了一些全局属性。 我稍后从 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/

相关文章:

javascript - Canvas 菜单不适用于 Iphone 5

iphone - 为什么我的 UIActivityIndi​​catorView 不在屏幕中央?

iphone - 为什么这个自定义 UIView 代码不显示 UILabel 的?

iphone - NSManagedObject getters/setters 无法识别的选择器错误

objective-c - Mac 开发 - 使用工具栏构建应用程序

ios - 无法在 didUpdateNotificationStateForCharacteristic 中获取 CBcharacteristic 值

iphone - 如何让scrollview内容循环播放?

ios - 将 CALayer 移动到另一个 View 或更改 CALayer.contents,哪个更有效?

ios - 设置 rowHeight 等于 UITableViewAutomaticDimension 不起作用

ios - 应用程序传输钥匙串(keychain)丢失 : Solutions to users logging out