Я уже некоторое время ищу ответ на этот вопрос, и я думаю, что из-за характера моего массива я могу искать неправильный ответ!
У меня есть класс, который обрабатывает добавление элементов в мой массив:
// Item.h
@interface Item : NSObject {
NSString *name;
NSNumber *seconds;
}
@property(nonatomic,copy) NSString *name;
@property(nonatomic,copy) NSNumber *seconds;
- (id)initWithName:(NSString *)n seconds:(NSNumber *)sec;
@end
и ...
//item.m
@implementation Item
@synthesize name, seconds;
- (id)initWithName:(NSString *)n seconds:(NSNumber *)sec {
self.name = n;
self.seconds = sec;
return self;
}
@end
Итак, чтобы добавить предмет, я использую
Item *item1 = [[Item alloc] initWithName:@"runnerA" seconds:[NSNumber numberWithInt:780]];
У меня есть некоторый код, который позволяет пользователю редактировать текстовое поле (имя бегуна) и время, которое является UIdatepicker, установленным на часы и минуты. В методе сохранения это работает нормально. Это ОБНОВЛЕНИЕ, что я не могу приступить к работе. Я пробовал разные! Вот код на данный момент ...
mainAppDelegate *appDelegate = (mainAppDelegate *)[[UIApplication sharedApplication] delegate];
Item *item = [[Item alloc] initWithName:inputName.text seconds:[NSNumber numberWithInt:secs]];
[appDelegate.arrItems replaceObjectAtIndex:rowBeingEdited withObject:item];
Выше просто добавление нового элемента в массив (что я не хочу). Я не уверен, как заменить значения. В функции у меня есть строка, которую нужно обновить (rowBeingEdited
), и поля inputName.text
и secs
оба в порядке. (NSLog out подтверждает это).
Как использовать replaceObjectAtIndex, чтобы фактически заменить его значениями ?! Это сводит меня с ума сейчас !!