Не удается добавить в NSMutableArray с помощью метода addObject - PullRequest
0 голосов
/ 10 марта 2012

У меня проблема с методом addObject объекта NSMutableArrayObject. Вот код, который я сейчас использую:

- (void)addBirdSightingWithName:(NSString *)name location:(NSString *)location {
    BirdSighting *bird;
    NSDate *today = [NSDate date];
    bird = [[BirdSighting alloc] initWithName:name location:location date:today];
    [self.masterBirdSightingList addObject:bird];
    NSLog(@"Elements: %d", [self.masterBirdSightingList count]);
}

Когда этот код выполняется, вызов NSLog выводит значение 0 на консоль. Я не знаю, что может быть причиной этого.

EDIT:

Я углубился в код и обнаружил, что проблема в том, что мой BirdSightingDataController никогда не инициализируется. Теперь мой вопрос: где я могу разместить init для моего BirdSightingDataController? В viewDidLoad?

Спасибо всем за помощь.

Ответы [ 3 ]

1 голос
/ 10 марта 2012

Вы alloc съели память до masterBirdSightingList?

self.masterBirdSightingList = [[NSMutableArray alloc] init];
0 голосов
/ 10 марта 2012

Проверьте вашу собственность собственности. Вы уверены, что он возвращает правильный объект? Убедитесь, что имя свойства соответствует переменной экземпляра, или вы указали его правильно (например: @synthesize masterBirdSightingList = _masterBirdSightingList;. Если средство доступа к свойству не соответствует iVar, оно вернет nil. Конечно, если вы вручную При реализации аксессора проверьте там свой код. Если нет, вы можете попробовать реализовать его вручную, чтобы убедиться.

Чтобы выполнить быструю проверку, удалите self.masterBirdSightingList и замените его на masterBirdSightingList (при условии, что это имя iVar), чтобы получить прямой доступ к iVar и посмотреть, что произойдет.

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

Почти в каждом случае, когда cellForRowAtIndexPath: не вызывается, это потому, что numberOfRowsInSection: возвращает 0.

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...