Bonjour à tous !
Je cherche à sous-classer la classe NSMutableArray pour lui ajouter des fonctions particulières. J'apprends doucement l'Obj-C et Cocoa, mais là je me frotte à un problème insoluble...
Ci-dessous, un exemple de code, pour une sous-classe permettant de manipuler directement des arrays d'entiers :
IntArray.h
IntArray.m
et voilà le message que je reçois à l'exécution de [IntArray arrayWithInt:0]; :
Si vous pouvez m'expliquer ce qui se passe, je serais vraiment ravi !
Merci d'avance !
Je cherche à sous-classer la classe NSMutableArray pour lui ajouter des fonctions particulières. J'apprends doucement l'Obj-C et Cocoa, mais là je me frotte à un problème insoluble...
Ci-dessous, un exemple de code, pour une sous-classe permettant de manipuler directement des arrays d'entiers :
IntArray.h
Bloc de code:
#import <Cocoa/Cocoa.h>
@interface IntArray : NSMutableArray {
}
+ (id)arrayWithInt:(int)value;
@end
IntArray.m
Bloc de code:
#import "IntArray.h"
@implementation IntArray
+ (id)arrayWithInt:(int)value {
[INDENT]return [super arrayWithObject:[NSNumber numberWithInt:value]];
[/INDENT]
}
@end
et voilà le message que je reçois à l'exécution de [IntArray arrayWithInt:0]; :
2004-11-11 02:57:29.083 GCCocoa[7943] An uncaught exception was raised
2004-11-11 02:57:29.083 GCCocoa[7943] *** initialization method -initWithObjects:count: cannot be sent to an abstract object of class IntArray: Create a concrete instance!
2004-11-11 02:57:29.083 GCCocoa[7943] *** Uncaught exception: <NSInvalidArgumentException> *** initialization method -initWithObjects:count: cannot be sent to an abstract object of class IntArray: Create a concrete instance!
Si vous pouvez m'expliquer ce qui se passe, je serais vraiment ravi !
Merci d'avance !