+ 1 для NSError
.
Я забыл, где в документах Apple я читал это, но я также вспоминаю их, поощряющие философию кодирования «сначала попробуй, потом проверь ошибки», а не «проверяй правильность, затем выполняй операцию». Например, вместо того, чтобы видеть, доступна ли сеть перед ее использованием, просто попробуйте использовать ее и ответить на ошибку, если / когда вы ее получите.
Я согласен с этой философией для многих случаев использования, потому что (а) она переносит проверку достоверности на момент действия, поэтому в некотором смысле она более точна, и (б, субъективно) работать с кодом в этом более увлекательно шаблон.
Подводя итог, предлагаем использовать NSError
и предоставлять немедленную обратную связь с NSError**
параметрами, которые принимают NULL
, чтобы быть очень дружественными для ваших пользователей API! Этот образец также установлен в нескольких местах в Какао / Прикосновении; например метод NSString
writeToFile: атомарно: кодировка: ошибка: .