Your mechanic is saying correct. IACV (Idle Air Control Valve) is responsible for throttle adjustment electronically. Indication of faulty IACV is constant fluctuation of RPM while idling i.e. going up then down and repeat. You can also check IACV by tapping the back-end of any screw driver. If RPM fluctuates while tapping, the IACV needs replacement. Try to open and service IACV first. You can do that yourself too, plenty of resources available here on forum and online.
Black smoke can also mean faulty/ out of calibration MAP/ MAF sensor. Besides, if the car gets fine after injector service and then gets bad after awhile could possibly mean injector acting up.