I have an NSOperation that wraps some web service functionality. The NSOperation has a delegate that is to be messaged when the operation is over.
As the NSOperation
1) Declare your delegate's protocol to extend the NSObject protocol in the .h file
@protocol YourDelegateProtocol
2) Cast to NSObject in your call
[(NSObject*)delegate performSelectorOnMainThread:@selector(getDealersIDSuccess:) withObject:result waitUntilDone:YES];
I definitely recommend number (1).