gpt4 book ai didi

cocoa - 使用多个类中的相同实例

转载 作者:行者123 更新时间:2023-12-03 18:00:08 24 4
gpt4 key购买 nike

我有一个小问题,当我必须访问一个类时,我创建一个新实例

Class *class = [[Class alloc] init];

问题是我不想创建新实例而是使用当前实例,我只想在两个类之间进行通信...如何在不创建新实例的情况下传递值?

最佳答案

您可以使用 Singleton 类创建一个可在应用程序的生命周期内访问的共享对象,这是一种简单(尽管不是 100% 万无一失)的创建方法:

+ (id) sharedInstance {
static Foo *__sharedInstance;
if (nil == __sharedInstance) {
__sharedInstance = [[Foo alloc] init];
}
return __sharedInstance;
}

更多 here

如果您只想执行特定操作,或者从类中获取信息,您可以通过在方法名称中使用“+”而不是“-”来使用类方法,如下所示:

+ (void) doSomething {
NSLog(@"This class is %@", self);
}

然后你可以简单地调用[Class doSomething]来执行操作,而无需创建新的实例。

关于cocoa - 使用多个类中的相同实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7881810/

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