gpt4 book ai didi

ios - 在 Objective C 中创建全局变量

转载 作者:行者123 更新时间:2023-11-28 18:35:47 25 4
gpt4 key购买 nike

我设计了一个登录应用程序。我已经在 sqlite 数据库中输入了帐户数据。但是,当我使用帐户用户名和密码登录时,我希望所有 View Controller 都可以访问这些。因为,我有不同的 Controller 来更新帐户详细信息。需要实现细节..谢谢

最佳答案

使用单例:http://www.galloway.me.uk/tutorials/singleton-classes/

我有一个类似这样的项目(注意我使用的是 iOS 钥匙串(keychain)而不是数据库,但我在这里隐藏了这些细节):

@interface User : NSObject
@property (nonatomic, strong) NSString *username;

+ (User *)currentUser;

@end

@implementation User

+ (User *)currentUser
{
static User *currentUser = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
currentUser = [[User alloc] initFromKeychain];
});
return currentUser;
}
@end

有很多方法可以实现单例(取决于你对某人是否可以创建你的类的非单例实例的偏执程度)。这里的例子:What should my Objective-C singleton look like?

您也可以在任何需要的地方直接访问钥匙串(keychain)。您还应该问问自己,为什么这么多代码需要访问用户名/密码。听起来像是一个破烂的设计。

关于ios - 在 Objective C 中创建全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19463207/

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