btw on the subject of “should I use NSOperationQueue or libdispatch”, since it came up, my concrete recommendation is: you should really strongly consider not writing async/concurrent code.
I know this sounds weird in 2018, but the cost in complexity *and* performance is high.
I know this sounds weird in 2018, but the cost in complexity *and* performance is high.
There are absolutely cases it’s worthwhile, but empirically the cutoff point leans more single threaded than most programmers think it does.