Метод вызова модели с блоком, который будет выполняться в основном потоке

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

то есть пользовательский интерфейс вызывает метод модели с двумя блоками, один для успеха и один для отказа.

Это замечательно, потому что контекст исходного вызова сохраняется, однако сам блок вызывается в фоновом потоке. Есть ли способ вызвать блок в основном потоке ??

Надеюсь, я объяснил это нормально, если нет, то в основном мои методы модели асинхронны, немедленно возвращаются и создают новый поток, в котором будет выполняться операция. Как только операция вернется, я вызову блок, который будет обрабатывать возвращенные данные, ТОГДА мне нужно вызвать блок для сценария успеха, определенного вызываемым внутри пользовательского интерфейса. Однако блоки сценария успеха и отказа, определенные в пользовательском интерфейсе, должны вызываться в основном потоке, потому что мне нужно взаимодействовать с элементами пользовательского интерфейса, что, как мне кажется, должно выполняться только в основном потоке.

большое спасибо

8
задан krisdyson 9 February 2011 в 01:41
поделиться