У меня есть следующая цель класса С. Он предназначен для хранения информации о фильме для настройки стиля кино, идентификатора места проведения и т. Д. Всякий раз, когда я пытаюсь создать объект этого класса:
Film film = [[Film alloc] init];
я получаю следующие ошибки: объект переменного размера не может быть инициализирован, статически размещенный экземпляр класса Objective-C "Film", статически размещенный экземпляр класса Objective-C "Film".
Я довольно новичок в Objective C и, вероятно, все еще застрял в мышлении C #, может кто-нибудь сказать мне, что я делаю неправильно?
Спасибо, Майкл
код:
// Film.m
#import "Film.h"
static NSUInteger currentID = -1;
@implementation Film
@synthesize filmID, title, venueID;
-(id)init {
self = [super init];
if(self != nil) {
if (currentID == -1)
{
currentID = 1;
}
filmID = currentID;
currentID++;
title = [[NSString alloc] init];
venueID = 0;
}
return self;
}
-(void)dealloc {
[title release];
[super dealloc];
}
+(NSUInteger)getCurrentID {
return currentID;
}
+(void)setCurrentID:(NSUInteger)value {
if (currentID != value) {
currentID = value;
}
}
@end
// Film.h
#import <Foundation/Foundation.h>
@interface Film : NSObject {
NSUInteger filmID;
NSString *title;
NSUInteger venueID;
}
+ (NSUInteger)getCurrentID;
+ (void)setCurrentID:(NSUInteger)value;
@property (nonatomic) NSUInteger filmID;
@property (nonatomic, copy) NSString *title;
@property (nonatomic) NSUInteger venueID;
//Initializers
-(id)init;
@end