поэтому у меня есть класс, который я объявляю как синглтон, и в этом классе у меня есть NSMutableArray, который содержит несколько NSDictionaries с некоторыми парами ключ / значение в них. Проблема в том, что это не работает, и я не знаю почему ... Я имею в виду, что это происходит с EXC_BAD_ACCESS, но я не знаю где. Я следовал за кодом, и он действительно создал новый массив при первом добавлении, добрался до конца функции ... и потерпел крах ...
@interface dataBase : NSObject {
NSMutableArray *inregistrari;
}
@property (nonatomic,retain) NSMutableArray *inregistrari;
-(void)adaugaInregistrareCuData:(NSDate *)data siValoare:(NSNumber *)suma caVenit:(BOOL)venit cuDetaliu:(NSString *)detaliu;
-(NSDictionary *)raportIntreData:(NSDate *)dataInitiala siData:(NSDate *)dataFinala;
-(NSArray *)luniDisponibileIntreData:(NSDate *)dataInitiala siData:(NSDate *)dataFinala;
-(NSArray *)aniDisponibiliIntreData:(NSDate *)dataInitiala siData:(NSDate *)dataFinala;
-(NSArray *)vectorDateIntreData:(NSDate *)dataI siData:(NSDate *)dataF;
-(void)salveazaInFisier;
-(void)incarcaDinFisier;
+ (dataBase *)shareddataBase;
@end
А вот и файл .m
#import "dataBase.h"
#import "SynthesizeSingleton.h"
@implementation dataBase
@synthesize inregistrari;
SYNTHESIZE_SINGLETON_FOR_CLASS(dataBase);
-(void)adaugaInregistrareCuData:(NSDate *)data siValoare:(NSNumber *)suma caVenit:(BOOL)venit cuDetaliu:(NSString *)detaliu{
NSNumber *v=[NSNumber numberWithBool:venit];
NSArray *input=[NSArray arrayWithObjects:data,suma,v,detaliu,nil];
NSArray *keys=[NSArray arrayWithObjects:@"data",@"suma",@"venit",@"detaliu",nil];
NSDictionary *inreg=[NSDictionary dictionaryWithObjects:input forKeys:keys];
if(inregistrari == nil) {
inregistrari=[[NSMutableArray alloc ] initWithObjects:inreg,nil];
}else {
[inregistrari addObject:inreg];
}
[inreg release];
[input release];
[keys release];
}
Он дошел до конца этой adaugaInregistrareCuData ... хорошо. сказал, что массив имел один объект ... а затем упал