Они позволяют вам получить доступ к одинаковым managedObjectContext
через потоки.
Я не совсем уверен, что я прав, но именно так я и использую.
Вы используете performBlockAndWait
, как «обычный». Вам это не нужно, если вы выполняете managedObjectContext только в одном потоке. Если вы выполняете его во многих потоках, тогда да, вам понадобится performBlock
.
Итак, если вы в главном потоке, вам не нужно делать performBlockAndWait
для основного managedObjectContext
. По крайней мере, у меня нет и все в порядке.
Однако, если вы обращаетесь к этому managedObjectContext
в других потоках, тогда да, вам нужно будет сделать performBlockAndWait
.
Так что это цель performBlock
и performBlockAndWait
.
Кто-нибудь, пожалуйста, поправьте меня, если я здесь не прав. Конечно, если вы обращаетесь к контексту только в одном потоке, вы можете просто использовать значение по умолчанию.