I wrote this explanation : Master request Array/Slave to send - #14 by Koepel - Programming Questions - Arduino Forum
If you want to set the R/W bit to write, use the beginTransmission --- write --- endTransmission sequence.
If you want to set the R/W bit to read, use the requestFrom.
The endTransmission returns an error, that can be checked to see if the device did acknowledge.
The requestFrom returns the number of received bytes, if something is wrong the number is most likely zero.
The endTransmission and requestFrom can have a repeated start. It is often called 'Sr' to distinguish it from Start and Stop.
When writing, the Master should NAK the last byte, followed by a STOP. That is done by the endTransmission function. It does a ACK for every sent byte, but the last byte is followed by a NAK.
Does this help a little ? Ask what you want to know.