These methods only get called once for each state change. So it works like this:
An iBeacon becomes visible to the device.
didEnterRegion
anddidDetermineStateForRegion
get called.No more calls are made to the above methods while the iBeacon is visible to the device.
The iBeacon is no longer visible to the device.
didExitRegion
anddidDetermineStateForRegion
get called.No more calls are made to the above methods while the iBeacon is not visible to the device.
Go to step 1.
If you want to get a call once per second with a list of all iBeacons that are being seen, use the Ranging Example Code here.