I am using CFMutableArrayRef in my code. There I am adding several CFTypeRef elements.
When I am done using the array, do I need to call CFArrayRemoveAllValues(myArray); before actually releasing the array or simply calling to CFRelease(myArray); will deallocate array contents as well?
Thanks in advance
Calling CFRelease is all you need to do, assuming the objects contained in the array are managed appropriately.
CFArray is open-source and you can see the implementation yourself at https://opensource.apple.com/source/CF/CF-1153.18/CFArray.c.auto.html (look for __CFArrayDeallocate and __CFArrayReleaseValues).
CFArray is toll-free bridged with NSArray so in Objective-C it's rarely necessary to use CFArray directly.