我正在开发一个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