Should it matter to me who is routing this given that my thinking behind using this api was to ensure that the image fetches are in completely separate/exclusive threads than RK.
No, it shouldn't. The request will still run on a different thread.
Does this impact my CoreData implementation? Will this image get cached - I am guessing it wont be because I am not explicitly storing it but can it possibly impact performance if these operations start to happen on the same pool as the Rest api operations?
The image will only be cached in memory (if memory is available). Generally I agree with @m-farhan that SDWebImage
would be a better choice, not to separate from Core Data but to cache the images to disk so you don't keep downloading them. Generally you don't want to store the images in Core Data.
Any requests can impact performance if you make them all at the same time. You should limit your concurrent network operations to ~ 4 or 5.
Is this the right implementation? Should I cache the images as well in CoreData and not use AFNetworking api at all?
See above.
Slightly off but related topic - I plan on getting hundreds of items from the server, each of these items can have many items as well. and each of these will have images as well. So its a pretty network heavy application. Are there any best practices to manage throttling of these requests to avoid performance hiccups?
See above. Set the concurrent count on the operationQueue
of the RKObjectManager
.