delegate, Objective-C

Started by
0 comments, last by SuperRad 14 years, 4 months ago
I am looking at some IPhone related code and it is in Objective-C. I don't know this language at all and I have a C++ background. What is this delegate stuff about?

-(id<GLTriangleViewDelegate>)delegate
{
	return delegate;
}

//Update the delegate and if it needs a -setupView: call, set our internal flag so that
//it will be called
-(void)setDelegate:(id<GLTriangleViewDelegate>)d
{
	delegate=d;
	delegateSetup=![delegate respondsToSelector:@selector(setupView:)];
}

In this language, functions need to start with a minus sign. Don't pay any attention to that :)
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);
Advertisement
Delegates are pretty much just a way to override a function/method in an ObjC class instead of doing inheritance virtual function/method stuff.

I'm assuming the ObjC class whose methods you've quoted has a delegate member variable.
The first function I believe is just an accessor/getter to this delegate variable, and the second one sets it.
This line:
delegateSetup=![delegate respondsToSelector:@selector(setupView:)];

I believe just checks if the delegate object has a setupView method.

This topic is closed to new replies.

Advertisement