我有一点问题,当我必须访问一个类时,我创建了一个新实例
Class *class = [[Class alloc] init];
问题是我不想创建新实例但是使用当前实例,我只想在两个类之间进行通信...如何在不创建新实例的情况下传递值?
答案 0 :(得分:1)
你可以使用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]即可执行操作,而无需创建新实例。