Question: I need to keep the overall layout of an object. I pass it into a method and:

1. I need to delete things from the object, then do something,
2. once I get back to the main function I was in
3. I need the object to be UNTOUCHED.

The way it is setup now it deletes it from the main object as well as the one in the bottom method. SEE JSFiddle for code <http://jsfiddle.net/rwux4rta/> To get the results from the run, see console 

Please HELP! 

```
$( document ).ready(function() {
    var pList = new Object();
    pList["test"] = "test"; //this is being deleted from BOTH instances of the Obj
    pList["test1"] = "test1";
    pList["test2"] = "test2";
    pList["test3"] = "test3";
    pList["test4"] = "test4";

    displayData(pList);

    console.log(pList);
});

function displayData(badData){
    badData.test.removeData();

    console.log(badData);
}

```

Answer: 
The [MPVolumeView class](https://developer.apple.com/Library/ios/documentation/MediaPlayer/Reference/MPVolumeView_Class/index.html) is designed to let you do exactly this. It's in MediaPlayer.framework, so add that to your app to make things build correctly. 

You create it and make it visible the way you instantiate any other subclass of UIView, which you probably know by now.

You disable the routing button by setting the "showsRoutingButton" property to false. 

"How am I supposed to know that this will work without having to test it on an actual device?"

By seeing that it's been there since iOS 2.0, and is used in countless apps?
The process to writing such a slider is incredibly simple, look into `UISlider`(<https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISlider_Class/>) and then use the float value from the slider to set the volume.

If you do not want to write your own slider, look on GitHub([github.com](http://github.com)) for controls that do this for you. After doing a quick search, I found this `UISlider`subclass that adjusts [volume](https://github.com/OopsMouse/SNVolumeSlider).