NSMutable массив, не сохраняйте добавленный объект - PullRequest
0 голосов
/ 02 августа 2011

У меня есть UITextField с именем txtvwEmail.Я добавляю текст из txtvwEmail.text в массив pastUrls, но после добавления следующего текста он удаляет первый текст.Я использую код

if (![pastUrls containsObject:txtvwEmail.text]) {
    [pastUrls addObject:txtvwEmail.text];
}

Ответы [ 2 ]

2 голосов
/ 02 августа 2011

Вы должны опираться на основы языка и фреймворков.Массив ОСТАВЛЯЕТ объект, однако это может быть:

  1. pastUrls равен nil -> нет сохранения
  2. где-то в коде .text освобождается (или автоматически выпускается) и счетчиквсе еще тот же

Также, вы не можете быть уверены, что [obj retainCount] вернет правильное значение.Чтобы диагностировать реальную проблему, пересмотрите код или опубликуйте его здесь, чтобы мы могли помочь.

1 голос
/ 02 августа 2011
//this should be outside of ur all loops
NSMutableArray *pastUrls=[[NSMutableArray alloc]init];

//remove this line
//NSMutableArray *pastUrls=[NSMutableArray array];

if (![pastUrls containsObject:txtvwEmail.text]) {
    [pastUrls addObject:txtvwEmail.text];
}

NSLog(@"pastUrls : %@ \n\n",pastUrls);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...