Автосохранение с какао и базовыми данными

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

я был нов из университета и никогда не имел пары, запрограммированной прежде, ни сделанный TDD. Они усадили меня, чтобы сделать деку осуществления карты, и оно перебросилось. Плохо! Я не понял, почему интервьюер писал тесты, которые казались настолько немыми* (IE "пустой указатель возврата";) и они не объяснили, почему и конечно быть внешним к TDD я не знал что вопросы спросить. Конечный результат состоял в том, что было похоже, что я не мог программировать свой выход из бумажного пакета.

, Если Вы собираетесь сделать этот тип осуществления, необходимо угодить интервьюируемому, потому что они собираются быть в различных местах с их способностью. Это означает, что Вы получите различные оценки, которые не могут быть основаны на фактическом таланте и таким образом будут в большой степени смещенными.

** Теперь, когда я понимаю TDD, я действительно понимаю тесты как это и как он, как предполагается, работает, но укомплектовывает, сделал это когда-либо кажется глупым в то время! *

12
задан cacau 6 November 2014 в 07:13
поделиться

1 ответ

At the end of each event in an AppKit app, CoreData will run a -processPendingTransactions for you.

One side-effect of this is that if you've registered with your NSManagedObjectContext to receive change notifications, you'll get called at the end of each event.

So, for instance, in your notification handler, you could call just tell the context to save.

However, you might be paranoid about doing a save on a context while in a callback from that same context, so you'd probably feel better if you did a performSelector:@selector(save:) afterDelay: to push the save until after the -processPendingTransactions is done.

You could even do a cancel previous on the -save: selector and have the delay be like 5 seconds, so if the user or app is in the middle of a BUNCH of changes they'll all coalesce into a single save.

And, in fact, that's exactly how Delicious Library 1.0-1.09 worked.

-Wil

15
ответ дан 2 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: