Quick Question, The purpose of an NSBundle regarding my audio file is that it will take the audio that has a path to a folder on my hard drive, and put it into an object, an NSBundle object?
First sentence from the NSBundle class reference:
http://developer.apple.com/library/...asses/NSBundle_Class/Reference/Reference.html
An NSBundle object represents a location in the file system that groups code and resources that can be used in a program.
Given that you're using an application NSBundle, then the NSBundle object represents the application's "location in the file system that groups code and resources that can be used in a program".
Since the "location in the file system" is where your sound files reside, it should be obvious that the NSBundle is how you access the files, but the NSBundle is not the actual files on disk, nor is it a particular sound file.
To me, the key word in the class reference's sentence is
represents. Every object represents
something. If it's an NSNumber object, it represents a number. If it's an NSArray object, it represents an array of other objects.
Each class of object (e.g NSNumber or NSArray) defines, for all objects of that class, what things you can do with the objects. And by omission, the class also defines what you can't do with objects of that class. For NSNumber, you can get other representations (e.g. int, float, double), but you can't set a new value. For NSArray, you can index the arrayed objects by number, but you can't change them. If you need a mutable array representation, you have to use an NSMutableArray representation.
The concepts of
representation (objects represent something), and
capabilities determined by class (i.e. the methods and properties of the class) are fundamental to all object-oriented programming.
All software consists entirely of representations. This bit-pattern represents an integer of 32-bits. That bit-pattern represents the memory address (i.e. pointer) of a bit-pattern representing a floating-point number of 64-bits. The 8-bit field at the high end of a floating-point representation represents the exponent. Except the high bit represents the sign. And so on up and down the scale of representations.
So you break things down into the most suitable representation. And you build things up from simpler representations. It's all about what represents what.