gpt4 book ai didi

iOS 委托(delegate)和单例模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:59 34 4
gpt4 key购买 nike

我正在开发 iOS 应用程序。我使用的设计模式 Singleton 和 Delegation 模式。我在 dealloc 方法中没有一个委托(delegate)对象。如果用户重新打开此屏幕并设置为委托(delegate)对象 self 。但我看到委托(delegate)对象总是零。我怎样才能重新分配给自己委托(delegate)对象

最佳答案

由于你的问题不够详细,我想给你建议先仔细检查你的单例代码,然后始终以正确的方式检查您的委托(delegate)是否与您的逻辑一起正确设置。
我知道这个答案太宽泛和笼统,但是,这无济于事。

作为引用,下面的代码是 ARC 下 Objective-C 单例的基本结构。(对于 swift 版本,请检查上面的答案。)

你的单例.h

@interface YourSingleton : NSObject

+ (YourSingleton*)sharedInstance;

@end

你的单例.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

关于iOS 委托(delegate)和单例模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21582458/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com