gpt4 book ai didi

iphone - 设置单例类的@property

转载 作者:可可西里 更新时间:2023-11-01 04:28:06 25 4
gpt4 key购买 nike

目前我在 AppDelegate 类上使用一个属性。

现在,随着我的需求的增加,我需要超过 1 个这样的全局属性,所以我想创建一个 Singleton 类来保存这些属性并管理它们。我找到了很多关于单例的信息,但我想不通,是否可以在没有类实例的情况下修改属性?

例如:

@interface Tools : NSObject

@property (nonatomic,retain) NSDictionary* item;

...

@end

我想做的事:

[Tools setItem:someDict];
someClass = [someClass alloc] initWithItem:[Tools getItem]];

我所有的想法都以类 Tools 没有实例的问题告终。我试过将 item 设置为静态变量(不是属性),这很有效,但我确信这不是这样做的正确原因。

相关但不同的问题,添加:

#import "Tools.h"

到 project-Prefix.pch 文件,这样项目属性就可以在项目的任何地方使用,是个好主意吗?

最佳答案

你是对的,你需要一个实例来使用单例。但是问题在哪里呢?

[Tools sharedInstance].item = someDict; // or
[[Tools sharedInstance] setItem:someDict;

sharedInstance 方法然后确保正确实例化唯一的 Tools 实例。我已经习惯了。替代方案是类(class)成员。你可以看看这个线程:

BOOL being reset to NO in init method

关于iphone - 设置单例类的@property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7483504/

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