小编Tho*_*mer的帖子

核心数据:父上下文阻止子级

我正在使用核心数据在应用程序中进行一些后台处理.后台处理在子managedObjectContext上完成.上下文初始化

appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

// the moc in appDelegate is created with .MainQueueConcurrencyType
mainThreadMOC = appDelegate.managedObjectContext!
backgroundMOC = NSManagedObjectContext(concurrencyType:NSManagedObjectContextConcurrencyType.PrivateQueueConcurrencyType)
backgroundMOC?.parentContext = mainThreadMOC
Run Code Online (Sandbox Code Playgroud)

后台处理按以下方法完成:

// download all new transaction log entries
func syncItems() {

... set up the query object for parse

let moc = CoreDataStore.sharedInstance.backgroundMOC

// perform download
moc?.performBlock( {
    self.runQuery(query)   // Download stuff und do some core data work
    })
}
Run Code Online (Sandbox Code Playgroud)

调试器显示块内的所有工作确实在后台线程中.

当我从主线程调用此函数并立即使用冗长的核心数据操作阻止主线程(用于测试目的)时,我看到后台线程停止并且仅在主线程空闲时继续执行.

// this is called from a view controller in the main thread

syncItems() // …
Run Code Online (Sandbox Code Playgroud)

multithreading core-data nsmanagedobjectcontext ios

5
推荐指数
2
解决办法
3079
查看次数

C++模板模板

我试图通过实现通用容器类来理解C++模板模板.这是代码:

    using namespace std;

    template <typename T, template <typename STORETYPE> class Container>
    class Store {
    public:
        ~Store() {};
        Store() {};
        void someFunc( const T & ) {};
        //...
    private:
        Container<T> storage;
    };




    int main(int argc, char *argv[])
    {
        Store<int,deque> myStore;   // error here, won't compile!
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码生成编译器错误消息.错误消息是:

"模板模板参数具有与其对应的模板模板参数Store aStack1不同的模板参数;

我不知道为什么.怎么了?

c++ templates

4
推荐指数
1
解决办法
256
查看次数