【发布时间】:2009-06-30 12:19:10
【问题描述】:
我有以下目标 C 类。它用于存储电影风格设置、标题场地 ID 等电影的信息。每当我尝试创建此类的对象时:
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
【问题讨论】:
-
抱歉格式错误,这里还不明白如何创建代码块
标签: objective-c variables class object