2016-07-28 3 views
1

У меня есть массив, который заполняется при нажатии кнопки поиска пользователя. Если для этого ответа нет данных, сервер возвращает пустой ответ, и поэтому здесь находится пустой массив. Интересно, почему, когда я запускаю фальшивый запрос, он возвращает мне EXC_BAD_ACCESS (code=1, address = 0xa).Незначительный доступ в виде таблицы - iOS

Это пункт:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 

    if (_arrValues.count > 0) 
     return self.arrValues.count; 

    return 0; 
} 

Для линии:

if (_arrValues.count > 0) 

В viewDidLoad я выделить массив вроде этого:

_arrValues = @[]; 

Таким образом, я не могу понять, почему это происходит , Какие-либо предложения?
В отладчике он просто печатает память массива и указатель ISA, очевидно, что нет данных, если пользователь ищет поддельный запрос, который ничего не возвращает.

С отладкой панели:

enter image description here

Когда я обновить серверную часть подобного (удалить ответ и всегда создать пустой массив) проблема исчезла. Возможно, есть проблема в моем запрос/отображение части:

// _arrValues = [eventsMgr getEventsFromResponse:x]; 
     _arrValues = @[]; 
+0

Показать полный журнал сбоев. – Droppy

+2

Вероятно, '_arrValues' является' nil' в какой-то момент. Вам не нужна проверка на нуль, просто верните 'return self.arrValues.count;'. – vadian

+0

@ Droppy, что я должен показать? –

ответ

1

Использовать этот код

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return [_arrValues count]; 
} 
+0

Просто 'return [_arrValues ​​count];' будет работать. – Droppy

+0

@ Droppy было возвращено [_arrValues ​​count]; перед тем, как я столкнулся с ошибкой. Также мне интересно, почему нет сбоя, когда он пуст при первой загрузке таблицы, поэтому возвратите [_arrValues ​​count]; Работа. –

+0

@EvgeniyKleban Это потому, что «отправка сообщения» в «nil» Objective-C является «no-op», и в этом случае он вернет «0», что идеально. Ваша ошибка в другом месте, однако в коде нет ничего плохого. – Droppy

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