我正在开发一个iOS应用程序。我使用的设计模式Singleton和委托模式。我没有在dealloc方法中删除一个委托对象。如果用户重新打开此屏幕并设置为委托对象自身。但是我看到委托对象总是为零。如何重新分配给自己以委托对象

最佳答案

由于您的问题不详细,
我想给你建议,先仔细检查你的单例代码,然后
始终检查是否正确地设置了您的代表以及您的逻辑。
我知道这是一个过于笼统的答案,但是,这无济于事。
作为参考,以下代码是ARC下Objective-C单例的基本结构。(对于快速版本,请检查以上答案。)

YourSingleton.h

@interface YourSingleton : NSObject

+ (YourSingleton*)sharedInstance;

@end

YourSingleton.m
#import "YourSingleton.h"

@implementation YourSingleton

#pragma mark - singleton method

+ (YourSingleton*)sharedInstance
{
    static dispatch_once_t predicate = 0;
    __strong static id sharedObject = nil;
    dispatch_once(&predicate, ^{
        sharedObject = [[self alloc] init];
    });
    return sharedObject;
}

@end

09-03 20:39