0

Я пытаюсь создать небольшое приложение, отслеживая мою статистику отказа. Like Consumption, средняя скорость, дата последней заправки и т. Д.Добавление и доступ к объектам в массиве (цель c)

И после ввода этих данных, добавив их в список, отсортированный по дате.

Looking something like this!

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

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

Я даже не уверен, нужен ли мне массив или словарь.

Если вам нужен код, который я уже написал, сообщите мне.

ответ

0

Использование массива, вероятно, лучше всего, поэтому выведите NSArray (неизменяемый массив), но в реализации класса вы должны использовать NSMutableArray (изменяемый массив), чтобы вы могли добавлять/удалять элементы, но не хотите пользователи класса, чтобы быть в состоянии сделать это:

.h файл:

@interface WhatNot : UITableViewController 

@property (readonly) NSArray *listOfThings; 

... 

@end 

.m файл:

@implementation WhatNot() 
{ 
    NSMutableArray *_listOfThings; 
} 
@end 

@implementation WhatNot 

... 

// Override the getter method 
- (NSArray *)listOfThings { 
    return _listOfThings; 
} 

Если вы хотите, чтобы пользователь класса мог добавлять объекты в массив, предоставите им метод для этого, и в рамках этого метода вы можете добавить объект в массив и организовать обновление таблицыView:

- (void)addThing:(Thing *)thing { 
    [_listOfThings addObject:thing]; 

    NSIndexPath *indexPath = [NSIndexPath indexPathWithIndex:[_listOfThings count] - 1]; 
    [self.tableView beginUpdates]; 
    [self.tableView insertRowAtIndexPaths:@[indexPath] 
         withRowAnimation:UITableViewRowAnimationTop]; 
    [self.tableView endUpdates]; 
}