Question: Im trying to make a game for the iPhone that has background music.
So this is how it is laid out:
I have a main menu with music running in the background via AVAudioPlayer (I have made a custom method that gets called every time the view loads).
I have this about button, when you press it it "addSubview:aboutView" s and it does that fine, but then when I press the back button which "addSubview:mainView" s it goes back to the main menu, but plays the same music track, on top of the one thats already playing.
I have tried making a int that ++s every time the viewDidLoad is called thats in an if (someInt > 1){} but that int forgets its value every time, so it still duplicates the music.
Help!
I know this is simple, but I cannot seem to work it out, its just one of those days.

Answer: 
I see many answers saying it is wrong to put 2 inputs inside a label.
This is actually a wrong statement in html5. The standard explicitly allow it:
<http://www.w3.org/TR/html5/forms.html#the-label-element>

> 
> If the for attribute is not specified, but the label element has a labelable element descendant, then the **first** such descendant in tree order is the label element’s labeled control.
> 
> 
> If a label element has interactive content other than its labeled control, the activation behavior of the label element for events targeted at those interactive content descendants and any descendants of those must be to do nothing.
> 
> 
> 

However, Safari does not respect the html5 standard here (tested on iOS 11.3). So, someone that wants to be compatible with Safari must use workarounds here or wait until Apple fixes its browser.
How about this:

```
<label> Range from <input name='min_value'> </label>
<label> to <input name='max_value'> </label>

```