Je suis un débutant, écrire un programme simple et alors qu'il n'y a pas d'avertissements/erreurs lors de la compilation. J'obtiens une erreur "EXC_BAD_ACCESS". Apprécieront toute aide avec ceci:Objectif C: erreur "EXC_BAD_ACCESS"
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
moviedatabase *movie1=[[moviedatabase alloc] init];
[movie1 addMovieWithName:@"DDLJ" andyear:1789 andlength:360 andGenre:Horror];
[movie1 printAll];
[movie1 release];
[pool drain];
return 0;
}
Voici la classe moviesdatabase et des films de classe dont il hérite:
@interface moviedatabase : movies{
//no variables in the class
}
-(void) addMovieWithName: (NSString *)mname andyear: (int) myear andlength: (int) mlength andGenre: (enum Genre) mgenre;
-(void) printAll;
@end
@interface movies : NSObject {
NSString *name;
int year;
int length;
enum Genre {Comedy,Drama,Horror,Action} genre;
}
@property (nonatomic) NSString *name;
@property (nonatomic) int year;
@property (nonatomic) int length;
@property (nonatomic) enum Genre genre;
-(id) initWithName: (NSString *)name andyear: (int) year andlength: (int) length andGenre: (enum Genre) genre;
@end
Y compris la mise en œuvre de moviedatabase:
#import "moviedatabase.h"
@implementation moviedatabase
-(void) addMovieWithName: (NSString *) mname andyear: (int) myear andlength: (int) mlength andGenre: (enum Genre) mgenre
{
name=mname;
year=myear;
length=mlength;
genre=mgenre;
}
-(void) printAll;
{
NSLog(@"name=%@, year=%@, length=%@, genre=%@",name,year,length,genre);
}
@end
Peut-être nous montrer la classe 'moviedatabase' pourrait aider. En outre, lorsque vous affichez le code source, mettez en surbrillance le code dans l'éditeur de questions et appuyez sur l'icône 010101 en haut pour l'indenter. – BoltClock
En tant qu'addendum au commentaire de @ BoltClock, d'après ce que nous pouvons voir dans la fonction 'main' rien n'est hors service, le' EXC_BAD_ACCESS' est issu du code à l'intérieur des méthodes 'addMovieWithName' ou' printAll'. –
@Vatsaf, Nous avons également besoin de voir le '@ implementation'. –