Зависит от вашей ситуации.Вы можете использовать статическую переменную, например
- (void) doSomething
{
static id foo = nil;
if (! foo)
foo = [[MyClass alloc] init];
// Do something with foo.
}
При первом вызове -DoSomething будет создан экземпляр MyClass.Обратите внимание, что это не потокобезопасно.
Другой способ - использовать синглтон.Возможно, лучший способ - создать экземпляр объекта, когда приложение завершит запуск, и передать объект другим объектам, которые могут в нем нуждаться.