Я работаю над iPad-приложением.Ошибка чтения памяти iOS
Когда приложение запущено, пользователю необходимо ввести номер. С этим id я проверяю файл csv, чтобы получить информацию о пользователе.
Информация сохраняется одним синглом. Это одноточечно вызывает у меня проблемы:
шаг 1: инициализация моего одноточечного
+(ASMagasin*) sharedInstance {
if (myMagasin == nil){
myMagasin = [[ASMagasin alloc]init];
}
return myMagasin;
}
шаг 2: Звоню функцию, которая работает с CSV файл
- (id)init {
if (self = [super init]) {
NSError * error;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString * num_magasin = [defaults objectForKey:kUserDefautNumMagasin];
[self loadMagFromCsv:filePathCsv withMagasin:num_magasin];
}
return self;
}
шаг 3:
-(void)loadMagFromCsv:(NSString *)filePath withMagasin:(NSString *) num_magasin
{
NSError *error;
NSString *csvData = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
NSArray *gcRawData = [csvData componentsSeparatedByString:@"\n"];
NSArray *singleGC = [NSArray array];
for (int i = 0; i < gcRawData.count; i++)
{
NSString *nextGCString = [NSString stringWithFormat:@"%@", gcRawData[i]];
singleGC = [nextGCString componentsSeparatedByString:@","];
if ([singleGC[0]isEqualToString:num_magasin]){
_num=singleGC[0];
_libelle=singleGC[1];
_client_defaut_nom=singleGC[2];
_client_defaut_prenom=singleGC[3];
_client_defaut_tel=singleGC[4];
_client_defaut_mail=singleGC[5];
_cp=singleGC[6];
_ville=singleGC[7];
_pays=singleGC[8];
}
}
}
В этой функции моя переменная error имеет это значение, прежде чем инициализировать его:
(NSError *) Ошибка = домен 0x0000000000000001: чтения памяти от 0x19 не удалось (0 из 8 байт чтения) - код чтения памяти из 0x11 не удалось (0 из байт чтения)
Я не знаю, как это решить, и откуда эта ошибка.
Что значит «прежде, чем вы его инициализируете»? - Значение переменной перед инициализацией в объекте C будет нулевым. – Paulw11
http://image.noelshack.com/fichiers/2014/31/1406713777-capture-d-ecran-2014-07-30-a-11-43-47.png после того, как эта ошибка инициализируется нулем – user3890824
. из всего, что вы не создаете синглтон должным образом. –