Добавление объектов в существующий массив - PullRequest
0 голосов
/ 27 марта 2012

В моем делегате приложения есть массив пользователей, и на одном из экранов я пытаюсь создать объект для добавления в этот массив.Атрибутами пользователя являются только электронная почта и пароль.На экране у меня есть два текстовых поля и кнопка.Я хочу, чтобы при нажатии кнопки генерировался новый пользователь из того, что было введено в поля, и помещал его в массив пользователей в делегате приложения.

Извините, что изучил интерфейс переполнения стека.Я работаю со следующим кодом:

-(IBAction)addPerson:(id)sender:(ContactViewController *)controller 
{
    Person *newPerson = [Person personWithEmail:controller.usernameTextField.text password:controller.passwordTextField.text]; 
    [self.(Truck_Tracker_AppAppDelegate *)UIApplication.sharedApplication.delegate).listPeople addObject:newPerson];
}

Я думаю, что успешно создал объект Person newPerson, у меня просто возникают проблемы с передачей его делегату приложения.

Ответы [ 3 ]

0 голосов
/ 27 марта 2012

Если это массив, то это может быть либо NSArray, либо NSMutableArray.

Первый - неизменный , вы не можете добавить элементы к существующему NSArray, вы можете просто создать новый с добавленным элементом.

В этом первом случае вы должны сделать что-то похожее на

self.array = [array arrayByAddingObject:newUser];

Если это NSMutableArray, то вы можете легко добавить элемент, выполнив

[self.array addObject:newUser];
0 голосов
/ 27 марта 2012

Этот образец на сайте Apple для разработчиков:

http://developer.apple.com/library/mac/#samplecode/NSTableViewBinding/Introduction/Intro.html

в значительной степени делает то, что вы описываете. Это должно быть легко изменить, чтобы делать именно то, что вы хотите.

0 голосов
/ 27 марта 2012

Похоже, вы используете только стандартный NSArray, когда хотите использовать NSMutableArray.

Проверьте документы на нем:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html

NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject:@"some data"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...