2014-11-24 4 views
-1

Я хочу добавить данные «электронной почты» в мой NSMutableArray, поэтому каждый раз, когда кнопка нажата, она добавляет другое сообщение в массив, поэтому я получаю массив адресов электронной почты, но Кажется, он не работает.Добавление «данных» в NSMutable Array - Xcode

Я думаю, что моя проблема заключается в том, что я повторно инициализирую массив, чтобы очистить его, и, возможно, нужно поставить инициализацию где-то еще. Я пробовал.

Код ниже позволяет мне добавить адрес, но каждый раз, когда IBAction называется я думаю, что я очистив массив, любые указатели или помощь будет большим

@property (strong, nonatomic) NSMutableArray *mutable; 

    @synthesize mutable; 
    - (IBAction)array:(id)sender { 

    mutable = [[NSMutableArray alloc]initWithObjects:self.person.email, nil]; 
    [mutable addObject:self.person.email]; 

    NSLog(@"ARRAY OF EMAILS %@",mutable); 

    } 
+0

Почему понижение, когда я спрашиваю разумный вопрос ?? –

ответ

0

Вы правы - вы инициализации массива каждый раз вызывается метод array:. Вы можете изменить код, чтобы инициализировать его только один раз:

- (IBAction)array:(id)sender { 
    if(!self.mutable) { 
     self.mutable = [[NSMutableArray alloc]initWithObjects:self.person.email, nil]; 
    } 
    [self.mutable addObject:self.person.email]; 

} 

Как примечание стороны - вы не должны использовать @synthesize для этого свойства. Прочтите "Adopting Modern Objective-C" для более подробной информации.

+0

отличный ответ, но я обнаружил, что если я уйду от этого вида, вернитесь к нему, «массив» повторно инициализирует (очищает себя) .. извините, но я не сказал, что в своем вопросе ... –

0

Вы использовали UIViewController? Если да, то сбросьте массив в методе viewDidAppear. Если вы используете UIView, затем создайте собственный метод для сброса массива и вызова из родительского viewController.

Смежные вопросы