I'm not familiar enough with Obj-C to give you any code, but just do something like this:
Make a class with floating point X, Y, and Z values, then create an instance of this class in your class there that has the didAccelerate and gameOn functions. Then in the didAccelerate function update the X, Y, and Z values of the class instance. Then just access them from wherever. Or you could go as far as putting a pointer to your class with the gameOn function in the accelerometer class and add an update function that modifies the player and playerVelocity variables. In C++ this would look something like this, I'm sure you'll be able to take something from it even if you don't know C++.
Code:
class Game; //Forward declaration
class AccelerationVector
{
public:
void Update(Game *G)
{
G->Player.Velocity += Vector3(X,Y,Z);
G->Player.Position += G->Player.Velocity;
//Whatever else you want to do with the player
}
float X,Y,Z;
};
class Game
{
public:
void didAccelerate(Acceleration)
{
AccVec.SetAcceleration(Acceleration);
}
void gameOn()
{
//Updates players velocity and position and stuff
AccVec.Update(this);
}
AccelerationVector AccVec;
};
I'm not sure I understood your question though, I hope this helps.