$OBJC_EXPORT{'application:openFile:'} = { 'args'=>'@@', 'return'=>'c' };
What do '@@' and 'c' mean? And why is this needed (but not needed for things like 'myApp::openDocument' which is called magically when I press M-o or click on File->Open)?
So, what are the type symbols? A complete list can be found in "Object Oriented Programming and the Objective-C Language", under the heading "Type Encoding" pp 119. The most useful ones, though, are:
'c' - char (also BOOL, which is a typedef'd char) 'i' - int 's' - short 'l' - long 'q' - long long 'C' - unsigned char 'I' - unsigned int 'S' - unsigned short 'L' - unsigned long 'Q' - unsigned long long 'f' - float 'd' - double 'v' - void '*' - character string (char *) '@' - an object, either statically-typed or id ':' - a selector
What would be the signature for
- (void)simpleEncrypt:(NSPasteboard *)pboard
userData:(NSString *)userData
error:(NSString **)error(the problem being only the third parameter NSString** error) ?
I tried
@@@ which crashes horribly
@@^@ which says it is not supported
@@ which fortunately works but of course does not let me use the third parameter
Cheers,
Thilo
