В чем разница в использовании методов firstObject vs objectAtIndex: 0?
Сегодня я проверил использование firstObject и objectAtIndex: 0. Если массив имеет размер 0, использование первого не вызывает сбоя, а последний вызывает сбой. Поэтому я думаю, что лучше использовать firstObject, чем objectAtIndex: 0. Но есть ли недостатки в использовании firstObject над objectAtIndex: 0?
Я также читал документацию NSArray, и я удивлен и задаюсь вопросом, почему они не упомянули об этом факте в документации.
Ответы
Ответ 1
Существует одна разница . Использование firstObject
возвращает nil
, если его нет. Использование objectAtIndex:0
приведет к сбою вашего приложения (выдает исключение), если там нет объекта. С точки зрения пользователя, сбой сильно защищен, поэтому безопаснее использовать firstObject
.
НО самая большая ошибка: firstObject
была доступна с iOS 4, но была частным API до iOS 7.