alloc
должен вызываться для класса , а не для экземпляра .
interface SomeClass : NSObject
{
Data *d;
}
Объявите метод init в SomeClass и сделайте его похожим на:
- (id) init
{
self = [super init];
if (self)
{
d = [[Data alloc] init];
}
return self;
}
- (void) dealloc
{
[d release];
[super dealloc];
}
Теперь вы делаете:
SomeClass *c = [[SomeClass init] alloc];
И вы можете использовать класс. Обратите внимание, что вам, вероятно, следует прочитать немного больше о классах и объектах, а также об управлении памятью (когда вы должны выпустить c и т. Д.).
Если, по какой-либо причине, у вас есть возможность использовать ARC (автоматический подсчет ссылок), вам не нужно заботиться о выпуске материала. Но это не идет с Xcode 4.1, только с 4.2, который не является общедоступным, по-видимому.