MAC OSX / обработка ошибок iPhone в Делегате Приложения?

Перестановки и комбинации двух разных зверей. Смотрите:

>>> from itertools import permutations,combinations
>>> from pprint import pprint
>>> l = ['a', 'b', 'c', 'd']
>>> pprint(list(combinations(l, 2)))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> pprint(list(permutations(l)))
[('a', 'b', 'c', 'd'),
 ('a', 'b', 'd', 'c'),
 ('a', 'c', 'b', 'd'),
 ('a', 'c', 'd', 'b'),
 ('a', 'd', 'b', 'c'),
 ('a', 'd', 'c', 'b'),
 ('b', 'a', 'c', 'd'),
 ('b', 'a', 'd', 'c'),
 ('b', 'c', 'a', 'd'),
 ('b', 'c', 'd', 'a'),
 ('b', 'd', 'a', 'c'),
 ('b', 'd', 'c', 'a'),
 ('c', 'a', 'b', 'd'),
 ('c', 'a', 'd', 'b'),
 ('c', 'b', 'a', 'd'),
 ('c', 'b', 'd', 'a'),
 ('c', 'd', 'a', 'b'),
 ('c', 'd', 'b', 'a'),
 ('d', 'a', 'b', 'c'),
 ('d', 'a', 'c', 'b'),
 ('d', 'b', 'a', 'c'),
 ('d', 'b', 'c', 'a'),
 ('d', 'c', 'a', 'b'),
 ('d', 'c', 'b', 'a')]
>>> 
5
задан 18 March 2009 в 17:00
поделиться

2 ответа

Ваш контроллер текущего представления должен быть ответственен за диспетчеризацию любого сообщения об ошибке и контакт с результатом.

Последняя часть является ключом здесь. Если Вы встречаетесь с Ошибкой HTTP и передаете сообщение до Вашего делегата приложения с опцией "повторной попытки", ответ затем должен пойти, полностью отступают к контроллеру. Это все получает немного yucky.

Теперь можно хотеть создать общий класс/представление в приложении, которое может иметь дело со всеми ошибками, с которыми Вы, вероятно, встретитесь, но это должно все еще быть представлено (модальным способом) контроллером, который встречается с ошибкой, и именно этот контроллер должен получить делегированные ответы.

2
ответ дан 15 December 2019 в 01:11
поделиться

Контроллеры могут или, возможно, не должны знать, что была ошибка для надлежащего восстановления с сетевой ошибки, но для разработки iPhone я нашел полезным иметь базовый коммуникационный класс, который понимает весь коммуникационный вход и из системы, и когда она обнаруживает проблемы отказов предупреждение непосредственно. Тем путем можно предотвратить перегрузку уведомлений об отказе, если пользователь переключает вкладки или иначе перемещается приложение, и просто сгенерируйте одно сообщение так, чтобы пользователь мог понять, почему экраны не обновляют.

2
ответ дан 15 December 2019 в 01:11
поделиться