@interface Esame : NSObject{
NSString *nome;
int voto;
int crediti;
int anno;
}
@property (nonatomic, retain) NSString *nome;
- (id)initWithNome:(NSString*)nome voto:(int)voto crediti:(int)crediti anno:(int)anno;
@end
这是我的实现
#import "Esame.h"
@implementation Esame
@synthesize nome;
- (id)initWithNome:(NSString*)name voto:(int)voto crediti:(int)crediti anno:(int)anno {
if ((self = [super init])) {
self.nome = name;
}
return self;
}
- (id)initWithCoder:(NSCoder *)decoder {
if (self = [super init]) {
nome = [decoder decodeObjectForKey:@"nome"] ;
voto = [decoder decodeIntForKey:@"voto"];
crediti = [decoder decodeIntForKey:@"crediti"];
anno = [decoder decodeIntForKey:@"anno"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)encoder {
if (nome) [encoder encodeObject:nome forKey:@"nome"];
if (voto) [encoder encodeInt:voto forKey:@"voto"];
if (crediti) [encoder encodeInt:crediti forKey:@"crediti"];
if (anno) [encoder encodeInt:anno forKey:@"anno"];
}
@end
我收到了同样奇怪的错误……特别是在 NSString 中……出了什么问题?