Учитывая этот код:Удаление файлов cookie при перечислении: безопасно?
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in cookieStorage.cookies) {
if (/* my specific condition that is true multiple times */) {
[cookieStorage deleteCookie:cookie];
}
}
Это не выбрасывает исключение, это означает, что мутация куков во время перечисления является безопасной. Что я хочу знать, почему? Всегда ли это будет безопасно или это просто безопасно из-за некоторых деталей реализации, которые могут измениться?
добавление незначительной детали здесь - не только 'setCookies:' не публично раскрывается, на самом деле его вообще не существует. Сеттеры для свойств 'readonly' не синтезируются компилятором. –
@MorganChen вам нужно будет проверить во время выполнения, чтобы быть абсолютно уверенным, что его не существует; они могут быть обновлены без «readonly» в расширении класса. Или, конечно же, просто написал сам сеттер. Но нет, я не должен был говорить, как будто мы знаем, что сеттер существует. – Tommy
Хорошая точка @ Томми, мой комментарий должен сказать: «может или не может существовать». –